黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 MyBatis入門教程

MyBatis入門教程

更新時間:2022-06-01 10:14:54 來源:動力節點 瀏覽1920次

MyBatis

MyBatis是一個 Java 持久性框架,它使用 XML 描述符或注釋將對象與存儲過程或 SQL 語句耦合在一起。與 ORM 框架不同,MyBatis 不會將 Java 對象映射到數據庫表,而是將 Java 方法映射到 SQL 語句。MyBatis 允許使用所有數據庫功能,如存儲過程、視圖、任何復雜性的查詢和供應商專有功能。

使用 MyBatis 的好處是:

開箱即用的表/查詢緩存

減少大部分 JDBC 樣板文件

提高生產力

SQL 代碼與 Java 類的分離

MyBatis Java 配置

可以在不使用 XML 的情況下在純 Java 中配置 MyBatis。在下面的示例中,我們將找出表中的書籍數量。

包 com.zetcode.map;
導入 org.apache.ibatis.annotations.Select; 
公共接口 MyMapper { 
    @Select("SELECT COUNT(*) FROM MyBooks") 
    public int getNumberOfBooks(); 
}

MyMapper包含計算表中行數的 SQL 代碼MyBooks。

包 com.zetcode.jconfig;
導入 java.util.Properties;
導入 javax.sql.DataSource;
導入 org.apache.ibatis.datasource.DataSourceFactory;
導入 org.apache.ibatis.datasource.pooled.PooledDataSource;
公共類 MyDataSourceFactory 實現 DataSourceFactory {     
    private Properties prop; 
    @Override
    公共數據源 getDataSource() { 
        PooledDataSource ds = new PooledDataSource();         
        ds.setDriver(prop.getProperty("driver")); 
        ds.setUrl(prop.getProperty("url")); 
        ds.setUsername(prop.getProperty("user")); 
        ds.setPassword(prop.getProperty("密碼"));         
        返回 ds; 
    }
    @Override 
    public void setProperties(Properties prprts) {          
        prop = prprts; 
    } 
}

MyDataSourceFactoryPooledDataSource 從給定的屬性創建一個。PooledDataSource是一個簡單的、同步的、線程安全的數據庫連接池。

包 com.zetcode.client; 
導入 com.zetcode.jconfig.MyDataSourceFactory;
導入 com.zetcode.jconfig.MyMapper;
導入 java.io.IOException;
導入 java.util.Properties;
導入 javax.sql.DataSource;
導入 org.apache.ibatis.mapping.Environment;
導入 org.apache.ibatis.session.Configuration;
導入 org.apache.ibatis.session.SqlSession;
導入 org.apache.ibatis.session.SqlSessionFactory;
導入 org.apache.ibatis.session.SqlSessionFactoryBuilder;
導入 org.apache.ibatis.transaction.TransactionFactory;
導入 org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory;
公共類 MyBatisJavaConfClient {
    私有靜態 SqlSessionFactory sesFact = null;
    public static void main(String[] args) throws IOException { 
        Properties prop = new Properties(); 
        prop.setProperty("驅動程序", "com.mysql.jdbc.Driver"); 
        prop.setProperty("url", "jdbc:mysql://localhost:3306/testdb"); 
        prop.setProperty("user", "testuser"); 
        prop.setProperty("密碼", "test623");         
        MyDataSourceFactory mdsf = new MyDataSourceFactory(); 
        mdsf.setProperties(prop); 
        數據源 ds = mdsf.getDataSource();         
        TransactionFactory trFact = new JdbcTransactionFactory(); 
        環境 environment = new Environment("development", trFact, ds);
        config.addMapper(MyMapper.class);         
        sesFact = new SqlSessionFactoryBuilder().build(config); 
        嘗試(SqlSession session = sesFact.openSession()) {             
            int numOfBooks = session.selectOne("getNumberOfBooks"); 
            System.out.format("有 %d 本書", numOfBooks); 
        } 
    } 
}

在MyBatisJavaConfClient,我們使用 Java 代碼配置 MyBatis,構建 SQL 會話,并執行getNumberOfBooks()方法。

屬性 prop = new Properties(); 
prop.setProperty("驅動程序", "com.mysql.jdbc.Driver"); 
prop.setProperty("url", "jdbc:mysql://localhost:3306/testdb"); 
prop.setProperty("user", "testuser"); 
prop.setProperty("密碼", "test623");

這里我們設置數據庫屬性。

MyDataSourceFactory mdsf = new MyDataSourceFactory(); 
mdsf.setProperties(prop); 
數據源 ds = mdsf.getDataSource();

我們通過獲取數據源MyDataSourceFactory。

TransactionFactory trFact = new JdbcTransactionFactory(); 
環境 environment = new Environment("development", trFact, ds); 
配置配置 = 新配置(環境);
config.addMapper(MyMapper.class);

此代碼替換 XML 配置。我們使用JdbcTransactionFactory、 Environment和Configuration類。

sesFact = new SqlSessionFactoryBuilder().build(config);

類的實例Configuration被傳遞給SqlSessionFactoryBuilder's build()方法。

以上就是關于“MyBatis入門教程”的介紹,大家如果想了解更多相關知識,不妨來關注一下動力節點的Mybatis視頻教程,里面的課程內容細致全面,通俗易懂,適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助哦。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 一级黄色视 | 视频一区在线播放 | 成在线人免费视频一区二区三区 | 西西人体国模欢欢啪啪写真 | 日本高清中文字幕视频在线 | 第一页综合 | 日批视频在线看 | 国产一区亚洲二区 | 五月天丁香六月欧美综合 | 黄 色 毛片免费 | 日本一区二区三区在线观看视频 | 国产在线视频第一页 | 免费成人黄色网址 | 中国三级毛片 | 小 视频 黄 | 亚洲精品网站在线 | 亚洲高清二区 | 九九亚洲视频 | 91亚洲国产系列精品第56页 | 深夜a级毛片免费视频 | 免费视频中文字幕 | 男女拍拍拍无挡免费视频 | 国产伦人伦偷精品视频 | 亚洲欧美在线中文字幕不卡 | 成年免费大片黄在看 | 4k岛国精品午夜高清在线观看 | 中文字幕禁忌乱偷在线 | 免费高清资源黄网站在线观看 | 草草影院www色欧美极品 | 成人羞羞视频播放网站 | 手机在线一区二区三区 | 美女一级a毛片免费观看 | 人人干视频在线观看 | 野花视频在线观看-高清中文 | 欧美亚洲欧美 | 国产精品大片 | 午夜激情在线视频 | 欧美在线观看www | 欧美日韩中文字幕免费不卡 | 久草午夜| 亚洲欧美中文日韩在线 |