JDBC使用mysql
1.到将使用到的数据库网站下载对应的JDBC驱动程序,安装加载到程序中;
2.建立连接
private String usr="**数据库账户名**";
private String psw="**数据库密码**";
String url="jdbc:mysql://localhost:3306/**要使用的数据库**";
String driver="com.mysql.jdbc.Driver";
Connection con=null;
try{
Class.forName(driver);
con=DriverManager.getConnection(url, usr, psw);
}
catch(ClassNotFoundException e1){
System.out.println("数据库驱动不存在!");
System.out.println(e1.toString());
} catch (SQLException e2) {
// TODO Auto-generated catch block
System.out.println("数据库存在异常!");
System.out.println(e2.toString());
}
finally{
try{
if(con!=null)con.close();
}catch (SQLException e){
System.out.println(e.toString());
}
}
3.使用 PreparedStatement来执行将多次执行只改变部分参数的SQL语句,使用“?”来代替语句中需变更的部分,使用setString之类的PreparedStatement自带方法来置参数。
以ResultSet来接收SQL执行结果,用ResultSetMetaData类来获得 执行SQL得到结果 的属性相关数据,如列名,获得的列数等等。
ResultSet rs=null;
String sqlst="{call check_user(?,?)}";
java.sql.PreparedStatement psqlst=con.prepareStatement(sqlst);
psqlst.setString(1, user);
psqlst.setString(2, password);
rs=psqlst.executeQuery();
ResultSetMetaData rsmd=rs.getMetaData();
4.
用JDBC操作Mysql时,由于编码方式不同,在JAVA中正常显示的中文,在加入数据库后,显示为 ? ,解决方法,更改数据库的编码方式,在确定数据库支持中文后,如果只是对JDBC擦入数据显示乱码,则可更改配置文件,将 character_set_client, character_set_server, character_set_system之类全部改为utf8,JAVA在window—preference下字体编码也改为utf8,之后应该就可以正常显示;
或者,可以在JAVA代码中,
将原来的
String url="jdbc:mysql://localhost:3306/db_exam";
在其后加上
?&setUnicode=true&characterEncoding=utf-8";
即
String url="jdbc:mysql://localhost:3306/db_exam?&setUnicode=true&characterEncoding=utf-8";
之后再进行
Class.forName(driver);
con=DriverManager.getConnection(url, usr, psw);
即可。