java解码.db文件_Java连接Oracle数据库,编码格式转换

学习东西不忘记下笔记:

dbhelper类,各种数据库都合适。

public classDBHelper {

//mysql数据库//public static final String url = "jdbc:mysql://127.0.0.1:3306/test";//public static final String name = "com.mysql.jdbc.Driver";//public static final String user = "root";//public static final String password = "******";

//Oracle数据库

public static final String url = "jdbc:oracle:thin:@127.0.0.1:1521:test";public static final String name = "oracle.jdbc.driver.OracleDriver";public static final String user = "test";public static final String password = "1";public Connection conn = null;public PreparedStatement pst = null;publicDBHelper(String sql) {try{

Class.forName(name);//指定连接类型

conn = DriverManager.getConnection(url, user, password);//获取连接

pst = conn.prepareStatement(sql);//准备执行语句

} catch(Exception e) {

e.printStackTrace();

}

}/*** 关闭数据库连接*/

public voidclose() {try{this.conn.close();this.pst.close();

}catch(SQLException e) {

e.printStackTrace();

}

}

}

执行:

String sql = "。。。。。。。。。。。。。。";try{

DBHelper db= new DBHelper(sql);//创建DBHelper对象

int ret = db.pst.executeUpdate();//执行语句,得到结果集

} catch(SQLException e) {//TODO 自动生成的 catch 块

e.printStackTrace();

}

注意:executeUpdate()执行插入和修改,而executeQuery()执行查询,要写对不然报错。

我在做东西的时候,插入数据库汉字出现乱码,Java工程编码格式和数据库字符集不同:

Oracle查看字符集sql:

方法1:select userenv(‘language‘) from dual;

方法2:select * from nls_database_parameters

mysql数据库默认编码集为:ENGINE=InnoDB DEFAULT CHARSET=latin1;

这个可以自行百度去改,这里不再介绍。

Java代码中修改编码格式:

String s = "我是个好人";

String ss= new String (s.getBytes(),"utf-8");//当然可以转换成别的格式,这里转换为utf-8

Java中string格式和日期格式转换,这里说一下sqlserver数据库和mysql数据库可以将一定格式的字符串直接转换成日期格式,不做格式转换也可以(为了安全建议还是写一下比较好);但是Oracle数据库不能自动转换,必须手动了:

String sdate = "2015-01-01 13:00:00";//24小时格式

Date date = Date.valueOf(sdate);

当然还可以这么写,写在sql中(Oracle里有自己的函数):

to_date(‘2005-12-25,13:25:59‘,‘yyyy-mm-dd,hh24:mi:ss‘)

原文:http://www.cnblogs.com/xq8866/p/5045790.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值