?
創建數據庫
指定數據庫字符集和校對規則:
mysql> create database it315 default character set gb2312 collate gb2312_chinese_ci;
?
進入剛創建的數據庫:
mysql> use it315;
Database changed
?
創建表:
mysql> create table student (id int primary key,name varchar(20),address varchar(20));
?
寫一個屬性文件: jdbc_mysql.properties,此文件存儲一些連接相關的信息:
driver=com.mysql.jdbc.Driver???????????? //驅動名稱
url=jdbc:mysql://localhost:3306/it315??? //指定URL
user=root???????????????????????????????????????????????? //用戶名
password=??????????????????????????????????????? //密碼
characterEncoding=gb2312???????????????? //指定字符編碼
?
寫java源文件: JdbcMySql.java
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;
?
public class JdbcMySql {
?
?????? public static Properties getProperties() {
????????????? Properties props = new Properties();
????????????? InputStream is = null;
????????????? try {
???????????????????? is = JdbcMySql.class
?????????????????????????????????? .getResourceAsStream("/jdbc_mysql.properties");
???????????????????? props.load(is);
????????????? } catch (Exception ex) {
???????????????????? ex.printStackTrace();
return null;
????????????? } finally {
???????????????????? if (is != null)
??????????????????????????? try {
?????????????????????????????????? is.close();
??????????????????????????? } catch (IOException e) {
?????????????????????????????????? e.printStackTrace();
??????????????????????????? }
????????????? }
????????????? return props;
?????? }
?
?????? public static void main(String[] args) {
????????????? Connection conn = null;
????????????? Statement stmt = null;
????????????? ResultSet rs = null;
?
????????????? Properties props = getProperties();
????????????? if (props != null){
????????????? ????? //
讀取出屬性文件里面的內容
????????????? ????? String driver = props.getProperty("driver");
????????????? ????? String url = props.getProperty("url");
????????????? ?????? String user = props.getProperty("user");
????????????? ????? String password = props.getProperty("password");
????????????? ????? String characterEncoding = props.getProperty("characterEncoding");
?
????????????? ????? try {
???????????????????? ?????? Class.forName(driver);//
加載驅動
?
???????????????????? ?????? conn = DriverManager.getConnection(url + "?characterEncoding="
?????????????????????????????????? ?????? + characterEncoding, user, password);//
建立連接
???????????????????? ?????? stmt = conn.createStatement();
?
???????????????????? ?????? String sql = "insert into student values(1,'
張三','湖南')";
???????????????????? ?????? stmt.executeUpdate(sql);//
執行sql語句
?
???????????????????? ?????? sql = "select * from Student";
???????????????????? ?????? rs = stmt.executeQuery(sql);
?
???????????????????? ?????? while (rs.next()) {//
從結果集中取出數據
??????????????????????????? ?????? System.out.print(rs.getInt(1) + "\t");
??????????????????????????? ?????? System.out.print(rs.getString(2) + "\t");
?????? ???????????????????? ?????? System.out.print(rs.getString(3) + "\n");
???????????????????? ?????? }
?
????????????? ?????? } catch (Exception e) {
???????????????????? ?????? e.printStackTrace();
????????????? ?????? } finally {//
釋放連接
???????????????????? ?????? try {
??????????????????????????? ?????? if (rs != null)
?????????????????????????????????? ?????? rs.close();
??????????????????????????? ?????? if (stmt != null)
?????????????????????????????????? ?????? stmt.close();
??????????????????????????? ?????? if (conn != null)
?????????????????????????????????? ?????? conn.close();
???????????????????? ?????? } catch (Exception ex) {
??????????????????????????? ?????? ex.printStackTrace();
???????????????????? ?????? }
????????????? ?????? }
}
?????? }
}
?
編譯運行:
C:\ >javac JdbcMySql.java
?
C:\ >java JdbcMySql
1????????????????????????
張三?湖南
?
進數據庫查詢剛剛插入的信息:
mysql> select * from student;
+----+------+---------+
| id | name | address |
+----+------+---------+
| 1?| ????| ????? |
+----+------+---------+
我們看到中文變成了問號.別急!退出mysql
mysql> quit;
Bye
?
再進去:
C:\ >mysql -uroot --default-character-set=gb2312
?
查詢:
mysql> use it315;
Database changed
mysql> select * from student;
+----+--------+---------+
| id | name?? | address |
+----+--------+---------+
| 1?|張三?| 湖南?|
+----+--------+---------+
OK!一切正常了….