摘要:定義類有兩種定義查詢結果到類的映射關系的方式,一種是通過文件定義,一種是通過定義,這里使用第二種方法。
定義mapping類
MyBatis 有兩種定義查詢結果到 Java 類的映射關系的方式,一種是通過xml文件定義,一種是通過Java annonation 定義,這里使用第二種方法。
現在我們有一張mysql的表定義如下:
CREATE TABLE `MY_BATIS_TEST` ( `id` varchar(255) NOT NULL DEFAULT "", `url` varchar(255) DEFAULT NULL )
首先定義table一條數據在Java中對應的class
public class Redord { public String url; }
定義sql查詢到Java class 結果集合的映射:
public interface SimpleMapper { @Select("select url from testdb.MY_BATIS_TEST limit 1;") Redord selectOneRecord(); @Select("select url from testdb.MY_BATIS_TEST;") Set初始化并注冊mapping類selectRecords(); @Select("select url from testdb.MY_BATIS_TEST where id=#{id};") Record selectRecordByID(int id); }
Properties properties = new Properties(); properties.setProperty("driver", "com.mysql.jdbc.Driver"); properties.setProperty("url", "jdbc:mysql://127.0.0.1:3306/testdb"); properties.setProperty("username", "the_user_name"); properties.setProperty("password", "the_password"); PooledDataSourceFactory pooledDataSourceFactory = new PooledDataSourceFactory(); pooledDataSourceFactory.setProperties(properties); DataSource dataSource = pooledDataSourceFactory.getDataSource(); Environment environment = new Environment("development", new JdbcTransactionFactory(), dataSource); Configuration configuration = new Configuration(environment); configuration.addMapper(SimpleMapper.class); //注冊mapping類 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);從mysql中查詢數據
SqlSession session = sqlSessionFactory.openSession(); try{ PluginMapper mapper = session.getMapper(PluginMapper.class); Plugin pl = mapper.selectPluginsByID(1000); System.out.println(pl.url); } finally { session.close(); }全局唯一以及線程安全
SqlSessionFactory 可以在整個app的生命周期中只創建一次,SqlSession需要在每次執行sql的函數中創建一次并且使用后需要進行關閉:
SqlSession session = sqlSessionFactory.openSession(); try { // do work } finally { session.close(); }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/66669.html
摘要:提供了四個主要的每一個都有一個可選的以及可選的其中要和中的方法簽名相同。 mybatis提供了四個主要的statement: insert select update delete 每一個statement都有一個id,可選的parametertype 以及可選的resultMap,其中statement要和mapper interface中的方法簽名相同。調用方式: ...
摘要:定義類有兩種定義查詢結果到類的映射關系的方式,一種是通過文件定義,一種是通過定義,這里使用第二種方法。 定義mapping類 MyBatis 有兩種定義查詢結果到 Java 類的映射關系的方式,一種是通過xml文件定義,一種是通過Java annonation 定義,這里使用第二種方法。現在我們有一張mysql的表定義如下: CREATE TABLE `MY_BATIS_TEST` (...
摘要:功能將查詢結果映射為實力對象。屬性標簽的標識返回值的全限定類名屬性設為則自動查找與字段名小寫同名的屬性名,并調用方法設為則需要在內明確映射關系才會調用對應的方法。 ResultMap功能:將select statement查詢結果映射為java實力對象。 RestultMap屬性: id:resultmap標簽的標識; type:返回值的全限定類名; autoMapping屬性:設為t...
摘要:從使用到原理學習線程池關于線程池的使用,及原理分析分析角度新穎面向切面編程的基本用法基于注解的實現在軟件開發中,分散于應用中多出的功能被稱為橫切關注點如事務安全緩存等。 Java 程序媛手把手教你設計模式中的撩妹神技 -- 上篇 遇一人白首,擇一城終老,是多么美好的人生境界,她和他歷經風雨慢慢變老,回首走過的點點滴滴,依然清楚的記得當初愛情萌芽的模樣…… Java 進階面試問題列表 -...
閱讀 1588·2021-11-22 15:33
閱讀 1729·2021-11-15 18:01
閱讀 665·2021-10-09 09:43
閱讀 2605·2021-09-22 16:03
閱讀 759·2021-09-03 10:28
閱讀 3550·2021-08-11 10:22
閱讀 2718·2019-08-30 15:54
閱讀 1761·2019-08-30 14:21