您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎么快速配置一個Mybatis環境,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
一、mybatis環境配置
1.通過maven的pom.xml文件引入mybatis需要的包
在其<dependencies></dependencies>標簽中添加如下代碼
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.1</version> </dependency>
2.在src/main/resources下新建mybatis-config.xml文件
并進行xml文件和config的dtd文件的聲明
<?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">
3.在mybatis-config.xml文件中的<configuration></configuration>中對數據庫進行配置
<configuration> <settings> <!-- 開啟駝峰命名轉換,若底層數據庫表項為goods_ID,實體類為goodsId ,則自動轉換--> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings> <!-- 設置默認指向的數據庫 --> <environments default="dev"> <environment id="dev"> <!-- 采用JDBC方式對數據庫事務進行commit/rollback --> <transactionManager type="JDBC"></transactionManager> <!-- 采用連接池的方式管理數據庫連接 --> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/babytun?useUnicode=true&characterEncoding=UTF-8"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> </configuration>
4.通過SqlSessionFactory構建SqlSession會話實例
每個基于 MyBatis 的應用都是以一個 SqlSessionFactory 的實例為核心的。SqlSessionFactory 的實例可以通過 SqlSessionFactoryBuilder 獲得。而 SqlSessionFactoryBuilder 則可以從 XML 配置文件或一個預先配置的 Configuration 實例來構建出 SqlSessionFactory 實例。
從 XML 文件中構建 SqlSessionFactory 的實例非常簡單,建議使用類路徑下的資源文件進行配置。 但也可以使用任意的輸入流(InputStream)實例,比如用文件路徑字符串或 file:// URL 構造的輸入流。MyBatis 包含一個名叫 Resources 的工具類,它包含一些實用方法,使得從類路徑或其它位置加載資源文件更加容易。
通常SqlSession是全局唯一的,通過MybatisUtils工具類減少重復代碼
public class MybatisUtils { //利用static靜態 屬于類而不屬于對象 , 保證全局唯一 private static SqlSessionFactory sqlSessionFactory = null ; //利用靜態塊在初始化類時實力話SqlSessionFactory static { Reader reader = null; try { reader = Resources.getResourceAsReader("mybatis-config.xml"); sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader) ; } catch (IOException e) { e.printStackTrace(); //初始化過程中出現的異常 throw new ExceptionInInitializerError(e) ; } } /** * 創建一個新的sqlsession對象 * @return sqlsession對象 * */ public static SqlSession openSession(){ return sqlSessionFactory.openSession() ; } public static void closeSession(SqlSession sqlSession){ if(sqlSession != null ){ sqlSession.close(); } } }
在entity包下創建要操作的數據庫表對應的實體類(必須使用駝峰命名和設置get和set方法),同時在resources目錄下創建mappers目錄,在mappers目錄下創建與該實體類同名的xml文件,在對其進行xml聲明和mapperdtd文件聲明(注意與mybatis-config.xml的dtd文件聲明的區別)
<?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">
然后在mybatis-config.xml文件引入該實體與數據庫的映射。即在其<mappers></mappers>標簽中添加映射xml文件路徑
<mappers> <mapper resource="mappers/goods.xml" /> <mapper resource="mappers/goods_detail.xml" /> </mappers>
當數據庫列字段名為多單詞且用"_"拼接時,還需在其<configuration></configuration>標簽中開啟駝峰命名轉換,使Mybatis自動完成映射。
<settings> <!-- 開啟駝峰命名轉換,若底層數據庫表項為goods_ID,實體類為goodsId ,則自動轉換--> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings>
到此為止,mybatis需要的配置就已全部完成。
在 src 源碼目錄下建立 一個類叫作:HelloWord, 來運行測試配置環境是否成功,具體代碼如下示:
import java.io.Reader; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import com.yiibai.mybatis.models.*; /** * * @author yiibai * @copyright //www.jb51.net * @date 2015/09/22 */ public class HelloWord { private static SqlSessionFactory sqlSessionFactory; private static Reader reader; static { try { reader = Resources.getResourceAsReader("config/Configure.xml"); sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); } catch (Exception e) { e.printStackTrace(); } } public static SqlSessionFactory getSession() { return sqlSessionFactory; } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub SqlSession session = sqlSessionFactory.openSession(); try { User user = (User) session.selectOne( "com.yiibai.mybatis.models.UserMapper.GetUserByID", 1); if(user!=null){ String userInfo = "名字:"+user.getName()+", 所屬部門:"+user.getDept()+", 主頁:"+user.getWebsite(); System.out.println(userInfo); } } finally { session.close(); } } }
關于怎么快速配置一個Mybatis環境就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。