成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

MyBatis 基本用法

Snailclimb / 2338人閱讀

摘要:定義類有兩種定義查詢結(jié)果到類的映射關(guān)系的方式,一種是通過文件定義,一種是通過定義,這里使用第二種方法。

定義mapping類

MyBatis 有兩種定義查詢結(jié)果到 Java 類的映射關(guān)系的方式,一種是通過xml文件定義,一種是通過Java annonation 定義,這里使用第二種方法。
現(xiàn)在我們有一張mysql的表定義如下:

CREATE TABLE `MY_BATIS_TEST` (
  `id` varchar(255) NOT NULL DEFAULT "",
  `url` varchar(255) DEFAULT NULL
)

首先定義table一條數(shù)據(jù)在Java中對應(yīng)的class

public class Redord {
    public String url;
}

定義sql查詢到Java class 結(jié)果集合的映射:

public interface SimpleMapper {

    @Select("select url from testdb.MY_BATIS_TEST limit 1;")
    Redord selectOneRecord();

    @Select("select url from testdb.MY_BATIS_TEST;")
    Set selectRecords();

    @Select("select url from testdb.MY_BATIS_TEST where id=#{id};")
    Record selectRecordByID(int id);
}
初始化并注冊mapping類
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中查詢數(shù)據(jù)
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的生命周期中只創(chuàng)建一次,SqlSession需要在每次執(zhí)行sql的函數(shù)中創(chuàng)建一次并且使用后需要進行關(guān)閉:

SqlSession session = sqlSessionFactory.openSession();
try {
  // do work
} finally {
  session.close();
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/66669.html

相關(guān)文章

  • Mybatis中statement基本用法

    摘要:提供了四個主要的每一個都有一個可選的以及可選的其中要和中的方法簽名相同。 mybatis提供了四個主要的statement: insert select update delete 每一個statement都有一個id,可選的parametertype 以及可選的resultMap,其中statement要和mapper interface中的方法簽名相同。調(diào)用方式: ...

    Atom 評論0 收藏0
  • MyBatis 基本用法

    摘要:定義類有兩種定義查詢結(jié)果到類的映射關(guān)系的方式,一種是通過文件定義,一種是通過定義,這里使用第二種方法。 定義mapping類 MyBatis 有兩種定義查詢結(jié)果到 Java 類的映射關(guān)系的方式,一種是通過xml文件定義,一種是通過Java annonation 定義,這里使用第二種方法?,F(xiàn)在我們有一張mysql的表定義如下: CREATE TABLE `MY_BATIS_TEST` (...

    BearyChat 評論0 收藏0
  • Mybatis中ResultMap基本用法

    摘要:功能將查詢結(jié)果映射為實力對象。屬性標簽的標識返回值的全限定類名屬性設(shè)為則自動查找與字段名小寫同名的屬性名,并調(diào)用方法設(shè)為則需要在內(nèi)明確映射關(guān)系才會調(diào)用對應(yīng)的方法。 ResultMap功能:將select statement查詢結(jié)果映射為java實力對象。 RestultMap屬性: id:resultmap標簽的標識; type:返回值的全限定類名; autoMapping屬性:設(shè)為t...

    cppowboy 評論0 收藏0
  • Java深入-框架技巧

    摘要:從使用到原理學(xué)習(xí)線程池關(guān)于線程池的使用,及原理分析分析角度新穎面向切面編程的基本用法基于注解的實現(xiàn)在軟件開發(fā)中,分散于應(yīng)用中多出的功能被稱為橫切關(guān)注點如事務(wù)安全緩存等。 Java 程序媛手把手教你設(shè)計模式中的撩妹神技 -- 上篇 遇一人白首,擇一城終老,是多么美好的人生境界,她和他歷經(jīng)風(fēng)雨慢慢變老,回首走過的點點滴滴,依然清楚的記得當(dāng)初愛情萌芽的模樣…… Java 進階面試問題列表 -...

    chengtao1633 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<