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

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

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

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

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

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

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

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

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

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

?
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

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

從SqlSessionFactory中獲取SqlSession
現(xiàn)在,我們已經(jīng)知道如何獲取SqlSessionFactory對象了,基于同樣的啟示,我們就可以獲得SqlSession的實例了。SqlSession對象完全包含以數(shù)據(jù)庫為背景的所有執(zhí)行SQL操作的方法。你可以用SqlSession實例來直接執(zhí)行已映射的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(); 

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

?
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映射語句的示例,這些語句應(yīng)該可以滿足上述示例中SqlSession對象的調(diào)用。

?
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”來調(diào)用映射語句,我們下面示例中的寫法也就是這樣的。

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

但下面的調(diào)用更有優(yōu)勢:
映射接口對應(yīng)映射xml文件的命令空間,接口方法對應(yīng)映射xml文件中定義的SQL映射的ID。???????????

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人免费视频一区二区三区 | 四虎在线精品观看免费 | 日本免费精品视频 | 国产精品久久久久久久久久久搜索 | 青青国产成人久久激情911 | 国产成人无精品久久久 | 日本高清视频一区二区 | lubuntu网页版在线 | 国内精品一区视频在线播放 | 日本aa大片在线播放免费看 | 免费叼嘿视频 | 成人影院免费看 | 欧美日韩精品乱国产 | 小黄文污到你湿 | 婷婷久久综合九色综合九七 | 亚洲国产精品久久精品怡红院 | 男人把大ji巴放进男人免费视频 | 无遮18禁在线永久免费观看挡 | 免费视频精品一区二区 | 玩两个少妇女邻居 | 小辣椒精品福利视频导航 | 日本亚洲娇小与黑人tube | 欧美日韩精品乱国产 | 国产成人盗拍精品免费视频 | 日产精品视频 | 精品久久久久久久久免费影院 | 91欧美国产 | 91狠狠| 亚洲精品一区二区观看 | 久久久久久久伊人电影 | 免费av在线视频 | 免费亚洲视频 | 好男人好资源在线观看免费 | 无套暴躁白丝秘书 | 免费精品国产在线观看 | 爽爽影院免费观看 | 欧美bbxx| 久久日本片精品AAAAA国产 | 丝瓜茄子绿巨人秋葵榴莲污 | 天天做天天爱天天爽综合区 | 好大好想要 |