Mybatis、JDBC、Habernate、Mybatis+Spring的Mysql資料庫操作執行個體

來源:互聯網
上載者:User

標籤:

1、資料庫操作執行個體:

public static void JDBCTest() throws Exception {Connection conn = null;String url = "jdbc:mysql://localhost:3306/mysql_learn?"+ "user=root&password=123qwe&useUnicode=true&characterEncoding=utf8";String selectSql = "select id,name,sex,is_del as isDel from mysql_learn.t_user where name like ‘%王%‘";// 一、載入驅動try {Class.forName("com.mysql.jdbc.Driver");System.out.println("載入驅動成功!");// 成功載入後,會將Driver類的執行個體註冊到DriverManager類中。// 二、建立串連conn = DriverManager.getConnection(url);// 三、建立Statement對象// ?要執行SQL語句,必須獲得java.sql.Statement執行個體,Statement執行個體分為以下3種類型:// 1、執行靜態SQL語句。通常通過Statement執行個體實現。// 2、執行動態SQL語句。通常通過PreparedStatement執行個體實現。// 3、執行資料庫預存程序。通常通過CallableStatement執行個體實現。具體的實現方式:// Statement stmt = con.createStatement() ;// PreparedStatement pstmt = con.prepareStatement(sql) ;// CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}")// ;Statement stmt = conn.createStatement();// 四、執行SQL// Statement介面提供了三種執行SQL語句的方法:executeQuery 、executeUpdate和execute// 1、ResultSet executeQuery(String sqlString):執行查詢資料庫的SQL語句// ,返回一個結果集(ResultSet)對象。// 2、int executeUpdate(String sqlString):用於執行INSERT、UPDATE或// DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等// 3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的 語句。// 具體實現的代碼:// ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;// int rows = stmt.executeUpdate("INSERT INTO ...") ;// boolean flag = stmt.execute(String sql) ;ResultSet resultSet = stmt.executeQuery(selectSql);// 五、結果集處理// 兩種情況:// 1、執行更新返回的是本次操作影響到的記錄數。// 2、執行查詢返回的結果是一個ResultSet對象。// ? ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些行中資料的訪問。// ? 使用結果集(ResultSet)對象的存取方法擷取資料:// while(rs.next()){// String name = rs.getString("name") ;// String pass = rs.getString(1) ; // 此方法比較高效// }// (列是從左至右編號的,並且從列1開始)List<User> users = new ArrayList();while (resultSet.next()) {User user = new User();resultSet.getLong(1);resultSet.getString(2);resultSet.getInt(3);resultSet.getInt(4);System.out.println("姓名:" + resultSet.getString(2));// 入如果返回的是int類型可以用getInt()users.add(user);}// 六、關閉串連 操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲// 明順序相反:// 1、關閉記錄集// 2、關閉聲明// 3、關閉連線物件if (resultSet != null) { // 關閉記錄集resultSet.close();}if (stmt != null) { // 關閉聲明stmt.close();}if (conn != null) { // 關閉連線物件conn.close();}} catch (ClassNotFoundException e) {System.out.println("找不到驅動程式類 ,載入驅動失敗!");e.printStackTrace();} catch (SQLException e) {System.out.println("MySQL操作錯誤!");e.printStackTrace();        } finally {    conn.close();        }}



2、Mybatis資料庫操作執行個體:

public static void myBatisTest() {try {// 1、建立讀取設定檔myBatis-config.xml的輸入資料流String resource = "myBatis-config.xml";Reader reader = Resources.getResourceAsReader(resource);// 2、建立SqlSessionFactorySqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);// 3、建立SQLSessionSqlSession session = factory.openSession();// 4、調用mapper檔案插入資料,需要將mapper檔案載入到設定檔(myBatis-config.xml)中User user = new User();user.setName("王靖坤");user.setSex(1);user.setIsDel(0);session.insert("com.qding.mybatis.learn.model.User.insert", user);System.out.println(user.getId());System.out.println(user.getName());session.commit();session.close();} catch (IOException e) {e.printStackTrace();}}

Mybatis、JDBC、Habernate、Mybatis+Spring的Mysql資料庫操作執行個體

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.