激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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接口可以保持簡潔,返回值類型很安全(參數類型也很安全)。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: japanese末成年free | 97青青| 天天躁狠狠躁夜躁2020挡不住 | 成人9禁啪啪无遮挡免费 | 久久久国产精品网站 | 日本爽快片100色毛片视频 | 国产一区二区在线观看视频 | 青青国产在线视频 | 免费一级肉体全黄毛片 | 国产男女爽爽爽爽爽免费视频 | 欧美一级特黄特色大片免费 | 激情九九| 亚洲国产中文字幕 | 美女羞羞视频在线观看 | 欧美性猛交xxx乱大交3蜜桃 | 欧美h版在线观看 | 欧美在线观看视频网站 | 日韩一级片免费 | 日韩av电影在线免费观看 | 91精品国产综合久久久动漫日韩 | 国外成人在线视频网站 | 日韩av在线网 | 国产老师做www爽爽爽视频 | 免费人成在线播放 | hdhdhdhd19日本人| 成人情欲视频在线看免费 | 精品一区二区三区欧美 | 国产大片在线观看 | 国产精品久久久久久久久久大牛 | 欧美日韩a∨毛片一区 | 在线亚洲观看 | 亚州综合 | 亚洲国产成人久久成人52 | 国产精品久久久久久久午夜片 | 成人福利软件 | 在线播放免费av | 国产精品久久久久久久久久久天堂 | 毛片免费看的 | 成年人在线免费 | 毛片大全在线观看 | 国产一国产精品一级毛片 |