您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關使用MyBatis的注意事項有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
1.根據xml配置文件(全局配置文件mybatis-config.xml)創建一個SqlSessionFactory對象 有數據源一些運行環境信息
<?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="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mybatis" /> <property name="username" value="root" /> <property name="password" value="123456" /> </dataSource> </environment> </environments> <!-- 將我們寫好的sql映射文件(EmployeeMapper.xml)一定要注冊到全局配置文件(mybatis-config.xml)中 --> <mappers> <mapper resource="EmployeeMapper.xml" /> </mappers> </configuration>
2.sql映射文件EmployeeMapper.xml;配置了每一個sql,以及sql的封裝規則等。
<?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="com.atguigu.mybatis.dao.EmployeeMapper"> <!-- namespace:名稱空間;指定為接口的全類名 id:唯一標識 resultType:返回值類型 #{id}:從傳遞過來的參數中取出id值 public Employee getEmpById(Integer id); 分離實現與接口 --> <select id="getEmpById" resultType="com.atguigu.mybatis.bean.Employee"> select id,last_name lastName,email,gender from tbl_employee where id = #{id} </select> </mapper>
3.將sql映射文件注冊在全局配置文件mybatis-config.xml中
<mappers> <mapper resource="EmployeeMapper.xml" /> </mappers>
4.寫代碼:
1).根據全局配置文件得到SqlSessionFactory;
String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
2).使用sqlSession工廠,獲取到sqlSession對象使用他來執行增刪改查,一個sqlSession就是代表和數據庫的一次會話,用完關閉
SqlSession openSession = sqlSessionFactory.openSession();
3).使用sql的唯一標志來告訴MyBatis執行哪個sql。sql都是保存在sql映射文件中的
try { Employee employee = openSession.selectOne( "com.atguigu.mybatis.dao.EmployeeMapper.getEmpById", 1); // spacename + sqlId System.out.println(employee); } finally { openSession.close(); }
mybatis: Mapper.java(接口) ====> xxMapper.xml(實現)
接口式編程的好處在于,能夠將功能與實現相分離
1、SqlSession代表和數據庫的一次會話;用完必須關閉;
2、SqlSession和connection一樣它都是非線程安全。每次使用都應該去獲取新的對象。
3、mapper.java接口沒有實現類,但是mybatis會為這個接口生成一個代理對象。(將接口和xml進行綁定)
EmployeeMapper empMapper = sqlSession.getMapper(EmployeeMapper.class);
4、兩個重要的配置文件:
mybatis的全局配置文件:包含數據庫連接池信息,事務管理器信息等…系統運行環境信息
sql映射文件:保存了每一個sql語句的映射信息:將sql抽取出來。
感謝各位的閱讀!關于“使用MyBatis的注意事項有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。