十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
mybatis可以配置多个数据库连接的,配置一个mysql 一个Oracle。用mysql的连接取出来,再用Oracle的连接存进去就好了,要注意一下字段的类型问题。
赫山网站建设公司创新互联公司,赫山网站设计制作,有大型网站制作公司丰富经验。已为赫山上千提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的赫山做网站的公司定做!
简单来说,没有任何联系。Java是编程语言,是用来操作数据的。数据库是用来存取数据的。Java代码通过JDBC(Java Data Base Connectivity :java数据库连接)可以实现对数据库的操作。在网上随便搜搜JDBC就知道了,例如这个:
import java.util.HashSet;
import java.util.Set;
public class ShortSet {
public static void main(String[] args) {
SetShort s = new HashSetShort();
for (Short i = 0; i 100; i++) {
short j = 100;
s.add(j);
short w = 100;
w = (short) (w - 1 + 1);
s.remove(w);
}
System.out.println(s.size());
for (Short i = 0; i 100; i++) {
s.add(i);
//关键的问题在于这里 i- 1
//Type mismatch: cannot convert from int to short
//下面这句话会报错,为什么,因为i-1是int类型,不是short类型的,如果你像我上面做的进行强制类型转化的话,看下面
// short st = i - 1;
s.remove(i - 1);
}
System.out.println(s.size());
for (Short i = 0; i 100; i++) {
s.add(i);
//结果就是1,最后一个100没有进行删除操作
s.remove((short)(i - 1));
}
System.out.println(s.size());
}
}
给你个我以前做的例子,不完整,仅供参考。
//*************************************
public ModelAndView add(HttpServletRequest req,
HttpServletResponse res) {
String username = (String) req.getSession().getAttribute("valid_user");
if (username != null) {
Integer bookid = Integer.parseInt(req.getParameter("bookid"));
Integer number = Integer.parseInt(req.getParameter("number"));
Integer userid = getUserDAO().findByName(username).getId();
this.shopcartDAO.addUserBook(userid, bookid, number);
Shopcart[] orders = this.getShopcartDAO().findUserBook(userid);
return new ModelAndView(this.getMemberPage(), "orders", orders);
} else {
return new ModelAndView(new RedirectView(getRedirectPage()));
}
}
//*******************************************************
public void addUserBook(Integer userid,Integer bookid,Integer number) {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String sql = "insert into shopcart(userid,bookid,number) "
+ "values(" + userid + "," + bookid + "," + number + ")";
Connection conn = null;
Statement stmt = null;
try
{
conn = dataSource.getConnection();
stmt = conn.createStatement();
stmt.execute(sql);
} catch(SQLException ex)
{
ex.printStackTrace();
}
finally
{
try{
stmt.close();
}
catch(SQLException e1)
{
e1.printStackTrace();
}
try{
conn.close();
}
catch(SQLException e2)
{
e2.printStackTrace();
}
}
}
java 读excel 还是比较方便简单的,原理就是,先用java 读取excel,然后,一行行的写入数据库,字段的话,你自己程序里面写就行了,给你个例子:
从Excel读取数据,生成新的Excel,以及修改Excel
package common.util;
import jxl.*;
import jxl.format.UnderlineStyle;
import jxl.write.*;
import jxl.write.Number;
import jxl.write.Boolean;
import java.io.*;
/**
* Created by IntelliJ IDEA.
* User: xl
* Date: 2005-7-17
* Time: 9:33:22
* To change this template use File | Settings | File Templates.
*/
public class ExcelHandle
{
public ExcelHandle()
{
}
/**
* 读取Excel
*
* @param filePath
*/
public static void readExcel(String filePath)
{
try
{
InputStream is = new FileInputStream(filePath);
Workbook rwb = Workbook.getWorkbook(is);
//Sheet st = rwb.getSheet("0")这里有两种方法获取sheet表,1为名字,而为下标,从0开始
Sheet st = rwb.getSheet("original");
Cell c00 = st.getCell(0,0);
//通用的获取cell值的方式,返回字符串
String strc00 = c00.getContents();
//获得cell具体类型值的方式
if(c00.getType() == CellType.LABEL)
{
LabelCell labelc00 = (LabelCell)c00;
strc00 = labelc00.getString();
}
//输出
System.out.println(strc00);
//关闭
rwb.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
/**
* 输出Excel
*
* @param os
*/
public static void writeExcel(OutputStream os)
{
try
{
/**
* 只能通过API提供的工厂方法来创建Workbook,而不能使用WritableWorkbook的构造函数,
* 因为类WritableWorkbook的构造函数为protected类型
* method(1)直接从目标文件中读取WritableWorkbook wwb = Workbook.createWorkbook(new File(targetfile));
* method(2)如下实例所示 将WritableWorkbook直接写入到输出流
*/
WritableWorkbook wwb = Workbook.createWorkbook(os);
//创建Excel工作表 指定名称和位置
WritableSheet ws = wwb.createSheet("Test Sheet 1",0);
//**************往工作表中添加数据*****************
//1.添加Label对象
Label label = new Label(0,0,"this is a label test");
ws.addCell(label);
//添加带有字型Formatting对象
WritableFont wf = new WritableFont(WritableFont.TIMES,18,WritableFont.BOLD,true);
WritableCellFormat wcf = new WritableCellFormat(wf);
Label labelcf = new Label(1,0,"this is a label test",wcf);
ws.addCell(labelcf);
//添加带有字体颜色的Formatting对象
WritableFont wfc = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,
UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.RED);
WritableCellFormat wcfFC = new WritableCellFormat(wfc);
Label labelCF = new Label(1,0,"This is a Label Cell",wcfFC);
ws.addCell(labelCF);
//2.添加Number对象
Number labelN = new Number(0,1,3.1415926);
ws.addCell(labelN);
//添加带有formatting的Number对象
NumberFormat nf = new NumberFormat("#.##");
WritableCellFormat wcfN = new WritableCellFormat(nf);
Number labelNF = new jxl.write.Number(1,1,3.1415926,wcfN);
ws.addCell(labelNF);
//3.添加Boolean对象
Boolean labelB = new jxl.write.Boolean(0,2,false);
ws.addCell(labelB);
//4.添加DateTime对象
jxl.write.DateTime labelDT = new jxl.write.DateTime(0,3,new java.util.Date());
ws.addCell(labelDT);
//添加带有formatting的DateFormat对象
DateFormat df = new DateFormat("dd MM yyyy hh:mm:ss");
WritableCellFormat wcfDF = new WritableCellFormat(df);
DateTime labelDTF = new DateTime(1,3,new java.util.Date(),wcfDF);
ws.addCell(labelDTF);
//添加图片对象,jxl只支持png格式图片
File image = new File("f:\\2.png");
WritableImage wimage = new WritableImage(0,1,2,2,image);
ws.addImage(wimage);
//写入工作表
wwb.write();
wwb.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
/**
* 拷贝后,进行修改,其中file1为被copy对象,file2为修改后创建的对象
* 尽单元格原有的格式化修饰是不能去掉的,我们还是可以将新的单元格修饰加上去,
* 以使单元格的内容以不同的形式表现
* @param file1
* @param file2
*/
public static void modifyExcel(File file1,File file2)
{
try
{
Workbook rwb = Workbook.getWorkbook(file1);
WritableWorkbook wwb = Workbook.createWorkbook(file2,rwb);//copy
WritableSheet ws = wwb.getSheet(0);
WritableCell wc = ws.getWritableCell(0,0);
//判断单元格的类型,做出相应的转换
if(wc.getType == CellType.LABEL)
{
Label label = (Label)wc;
label.setString("The value has been modified");
}
wwb.write();
wwb.close();
rwb.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
//测试
public static void main(String[] args)
{
try
{
//读Excel
ExcelHandle.readExcel("f:/testRead.xls");
//输出Excel
File fileWrite = new File("f:/testWrite.xls");
fileWrite.createNewFile();
OutputStream os = new FileOutputStream(fileWrite);
ExcelHandle.writeExcel(os);
//修改Excel
ExcelHandle.modifyExcel(new file(""),new File(""));
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
2.在jsp中做相关测试,创建一个writeExcel.jsp
%
response.reset();//清除Buffer
response.setContentType("application/vnd.ms-excel");
File fileWrite = new File("f:/testWrite.xls");
fileWrite.createNewFile();
new FileOutputStream(fileWrite);
ExcelHandle.writeExcel(new FileOutputStream(fileWrite));
%
在IE中浏览writeExcel.jsp就可以动态生成Excel文档了,其中response.setContentType("application/vnd.ms- excel");语句必须要,才能确保不乱码,在jsp中输入%@page contentType="application/vnd.ms- excel;charset=GBK"%不行。
以上的代码都不如哥的 且看哥是怎么写条理清晰的代码的!!!
package dbconnection //java 中不存在没有包的类(讲解详细因为项目需要)
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;//引入sql数据库包
public class DBConnection{
private Connection conn=null;
private Statement stmt=null;
private Result rs=null;
private String jdbc="com.microsoft.sqlserver.jdbc.SQLServerDriver";
private String driverManager="jdbc:sqlserver://localhost:1433;databasename=HcitPos";
private String user="admin";
private int password="admin";
public DBConnection{
try{
Class.forName("jdbc");
conn.getConnection("driverManager");
}
catch(Exception e){}
}
public selectMethod(String sql){
stmt=conn.createStatement();
rs=stmt.extcuteQuery("sql");
while(rs.next()){
String title=rs.getString("title");//利用javaBean获得数据库中的属性
String name=rs.getString("name");
.......
System.out.println("title");
System.out.println("name");
......
//当然数据库的操作有很多 这里简单介绍下功能的实现
}
}
public void closeDB(){
if(rs != null) rs.close();
if(stmt != null) stmt.close();
if(conn != null) conn.close();
}
}