一個jdbc連接mysql的小例子

          Posted on 2006-11-19 03:28 笨蛋啊帆 閱讀(2251) 評論(0)  編輯  收藏

          ?
          創建數據庫
          指定數據庫字符集和校對規則:
          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!一切正常了….

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          posts - 51, comments - 17, trackbacks - 0, articles - 0

          Copyright © 笨蛋啊帆

          主站蜘蛛池模板: 沙河市| 黄冈市| 湟中县| 保定市| 芒康县| 安多县| 抚宁县| 大埔区| 昭平县| 武平县| 余姚市| 泽州县| 九寨沟县| 章丘市| 库伦旗| 贺州市| 林甸县| 鹿泉市| 腾冲县| 崇礼县| 莱阳市| 天水市| 南康市| 庄浪县| 杭锦旗| 开原市| 柘城县| 若尔盖县| 伊吾县| 赤峰市| 吕梁市| 图木舒克市| 毕节市| 枣阳市| 安福县| 白城市| 清苑县| 大方县| 丰城市| 东城区| 博白县|