一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 獲取Java的MyBatis框架項目中的SqlSession的方法

獲取Java的MyBatis框架項目中的SqlSession的方法

2020-05-08 11:58fhd001 JAVA教程

SqlSession中包括已經映射好的SQL語句,這樣對象實例就可以直接拿過來用了,那么這里就來講解獲取Java的MyBatis框架項目中的SqlSession的方法

從XML中構建SqlSessionFactory
從XML文件中構建SqlSessionFactory的實例非常簡單。這里建議你使用類路徑下的資源文件來配置.

?
1
2
3
String resource = "org/mybatis/example/Configuration.xml"
Reader reader = Resources.getResourceAsReader(resource); 
sqlMapper = new SqlSessionFactoryBuilder().build(reader); 

XML配置文件包含對MyBatis系統的核心設置,包含獲取數據庫連接實例的數據源和決定事務范圍和控制的事務管理器。如例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-config.dtd"> 
<configuration
  <environments default="development"
    <environment id="development"
      <transactionManager type="JDBC"/> 
      <dataSource type="POOLED"
        <property name="driver" value="${driver}"/> 
        <property name="url" value="${url}"/> 
        <property name="username" value="${username}"/> 
        <property name="password" value="${password}"/> 
      </dataSource
    </environment
  </environments
  <mappers
    <mapper resource="org/mybatis/example/BlogMapper.xml"/> 
  </mappers
</configuration

當然,在XML配置文件中還有很多可以配置的,上面的示例指出的則是最關鍵的部分。

從SqlSessionFactory中獲取SqlSession
現在,我們已經知道如何獲取SqlSessionFactory對象了,基于同樣的啟示,我們就可以獲得SqlSession的實例了。SqlSession對象完全包含以數據庫為背景的所有執行SQL操作的方法。你可以用SqlSession實例來直接執行已映射的SQL 語句。例如:

?
1
2
3
4
5
6
SqlSession session = sqlMapper.openSession(); 
try
  Blog blog = (Blog)session.selectOne("org.mybatis.example.BlogMapper.selectBlog",101); 
}finally
  session.close(); 

現在有一種更簡潔的方法。使用合理描述參數和SQL語句返回值的接口(比如BlogMapper.class),這樣現在就更簡單,更安全的代碼,沒有容易發生的字符串文字和轉換的錯誤。例如:

?
1
2
3
4
5
6
7
SqlSession session = sqlSessionFactory.openSession(); 
try
  BlogMapper mapper = session.getMapper(BlogMapper.class); 
  Blog blog = mapper.selectBlog(101); 
}finally
  session.close(); 
}

探究已映射的SQL語句
這里給出一個基于XML映射語句的示例,這些語句應該可以滿足上述示例中SqlSession對象的調用。

?
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
<mapper namespace="org.mybatis.example.BlogMapper"
  <select id="selectBlog" parameterType="int" resultType="Blog"
    select * from Blog where id = #{id} 
  </select
</mapper

在命名空間“com.mybatis.example.BlogMapper”中,它定義了一個名為“selectBlog”的映射語句,這樣它允許你使用完全限定名“org.mybatis.example.BlogMapper.selectBlog”來調用映射語句,我們下面示例中的寫法也就是這樣的。

?
1
Blog blog = (Blog)session.selectOne("org.mybatis.example.BlogMapper.selectBlog", 101); 

但下面的調用更有優勢:
映射接口對應映射xml文件的命令空間,接口方法對應映射xml文件中定義的SQL映射的ID。???????????

?
1
2
BlogMapper mapper = session.getMapper(BlogMapper.class); 
Blog blog = mapper.selectBlog(101); 

首先它不是基于文字的,那就更安全了。第二,如果你的IDE有代碼補全功能,那么你可以利用它來操縱已映射的SQL語句。第三,不需要強制類型轉換,同時BlogMapper接口可以保持簡潔,返回值類型很安全(參數類型也很安全)。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 娇妻与公陈峰姚瑶最新版 | 我与么公激情性完整视频 | 亚洲 日韩 自拍 视频一区 | 精品日韩视频 | ai换脸杨颖被啪在线观看 | 亚洲AV久久无码精品九号 | 精品亚洲视频在线观看 | 免费的伦理片 | 亚洲欧美综合在线观看 | 欧美老肥妇bbb | 免费网站看v片在线成人国产系列 | 国产传媒在线播放 | 日本加勒比在线精品视频 | 超h高h肉h文武侠 | 四虎国产精品免费久久麻豆 | 无限好资源第一片免费韩国 | 天美传媒影视在线免费观看 | 单亲乱l仑在线观看免费观看 | 欧美肥b| 成人伊人青草久久综合网破解版 | 亚洲精品成人a | 亚洲无线一二三四区 | 91亚洲专区| 欧美黑人ⅹxxx片 | kkkk4444在线看片免费 | 国产成人高清亚洲一区91 | 亚洲精品国产在线 | 欧美日韩国产成人综合在线 | 爱色成人网 | 欧美日韩一区二区三区在线播放 | 30分钟的高清视频在线观看 | 太大了轻点阿受不了小说h 四色6677最新永久网站 | 国产在线精品亚洲第一区香蕉 | 北岛玲亚洲一区在线观看 | 精品在线一区 | 国内精品视频一区二区三区 | 午夜A级理论片左线播放 | 美女任你模 | 国产剧情一区二区三区 | 亚州笫一色惰网站 | 99久久99久久免费精品蜜桃 |