大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

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

MyBatis入門教程

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

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視頻教程,里面的課程內容細致全面,通俗易懂,適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助哦。

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 久久精品视频一区二区三区 | 操日日| 日本黄黄 | 国语国产真人对白毛片 | 久色一区| 一区二区三区免费在线 | 在线观看欧美视频 | 国产1769一七六九视频在线 | 国产综合色在线视频区色吧图片 | 亚洲欧美另类久久久精品能播放的 | 夜夜爱夜夜爽夜夜做夜夜欢 | 天天爽天天 | 天天干天天舔天天操 | 福利院肉动漫视频在线观看 | 特黄女一级毛片 | 99久久精品免费看国产四区 | 欧美成人爽毛片在线视频 | 日日干夜夜操视频 | 欧美乱人免费视频观看 | 久久综合色综合 | 成人精品第一区二区三区 | 91亚洲国产三上悠亚在线播放 | 国产大尺度福利视频在线观看 | 黑丝毛片 | 色中文字幕 | 国产一区二区不卡视频 | 男人天堂视频网 | 国产精品香蕉在线一区二区 | 国产亚洲精品美女一区二区 | 热热色视频 | 成人亚洲国产精品久久 | 色爱区综合激月婷婷激情五月 | 日韩欧美综合在线二区三区 | 欧美性xxx免费看片 欧美性白人顶级hd 欧美性插视频 | 国产欧美日本在线观看 | 国产免费一级高清淫曰本片 | 同性女女黄h片在线播放 | 自拍 亚洲 欧美 | 一区中文字幕 | 精品视频一区二区三区在线播放 | 国产精品福利视频主播真会玩 |