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

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

MyBatis入門教程

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

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

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 韩国成人在线视频 | 欧美成人精品欧美一级乱黄 | 天天插日日操 | 最近的免费中文字幕1 | 曰批免费视频播放在线看片二 | 综合欧美日韩 | 天天操夜夜摸 | 在线观看国产一区二区三区99 | 美女私密福利第一导航 | 日韩精品在线第一页 | 国产亚洲精彩视频 | 狠狠操狠狠色 | aa看片| 日韩午夜大片 | 午夜网站入口 | 亚洲欧美日韩中文字幕网址 | 亚洲一区二区三区国产精品 | 五月天色婷婷在线 | 日本黄色小说视频 | 78m-78模成视频在线 | 久久久免费的精品 | 黄色3级视频 | 午夜精品视频在线看 | 韩国19禁在线观看 | 欧美亚洲中日韩中文字幕在线 | 韩国久播影院理论片不卡影院 | 成人区视频 | 欧美日韩一本 | 婷婷久久综合九色综合九七 | 免费又黄又硬又爽大片 | www.一级毛片| 欧美成人性色生活片免费在线观看 | 免费看黄无遮挡滚床单视频 | 香蕉网站99视频丝瓜视频 | 国产成人手机在线好好热 | 在线不卡一区 | 欧美特黄a级高清免费大片 欧美太黄太色视频在线观看 | 黄色在线小视频 | 麻豆精品传媒一二三区在线视频 | 国产91网站在线观看 | 波多野结衣视频免费看 |