这篇文章给大家介绍怎么快速配置一个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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。