Mybatis环境配置及测试详解
mybatis3|参考文档
MyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。
MyBatis可以通过简单的XML或注解来配置和映射原始类型、接口和JavaPOJO(PlainOldJavaObjects,普通老式Java对象)为数据库中的记录。
一、mybatis环境配置
1.通过maven的pom.xml文件引入mybatis需要的包
在其
org.mybatis mybatis 3.5.1
2.在src/main/resources下新建mybatis-config.xml文件
并进行xml文件和config的dtd文件的声明
3.在mybatis-config.xml文件中的
4.通过SqlSessionFactory构建SqlSession会话实例
每个基于MyBatis的应用都是以一个SqlSessionFactory的实例为核心的。SqlSessionFactory的实例可以通过SqlSessionFactoryBuilder获得。而SqlSessionFactoryBuilder则可以从XML配置文件或一个预先配置的Configuration实例来构建出SqlSessionFactory实例。
从XML文件中构建SqlSessionFactory的实例非常简单,建议使用类路径下的资源文件进行配置。但也可以使用任意的输入流(InputStream)实例,比如用文件路径字符串或file://URL构造的输入流。MyBatis包含一个名叫Resources的工具类,它包含一些实用方法,使得从类路径或其它位置加载资源文件更加容易。
通常SqlSession是全局唯一的,通过MybatisUtils工具类减少重复代码
publicclassMybatisUtils{
//利用static静态属于类而不属于对象,保证全局唯一
privatestaticSqlSessionFactorysqlSessionFactory=null;
//利用静态块在初始化类时实力话SqlSessionFactory
static{
Readerreader=null;
try{
reader=Resources.getResourceAsReader("mybatis-config.xml");
sqlSessionFactory=newSqlSessionFactoryBuilder().build(reader);
}catch(IOExceptione){
e.printStackTrace();
//初始化过程中出现的异常
thrownewExceptionInInitializerError(e);
}
}
/**
*创建一个新的sqlsession对象
*@returnsqlsession对象
**/
publicstaticSqlSessionopenSession(){
returnsqlSessionFactory.openSession();
}
publicstaticvoidcloseSession(SqlSessionsqlSession){
if(sqlSession!=null){
sqlSession.close();
}
}
}
5.通过SqlSession对数据库进行操作
在entity包下创建要操作的数据库表对应的实体类(必须使用驼峰命名和设置get和set方法),同时在resources目录下创建mappers目录,在mappers目录下创建与该实体类同名的xml文件,在对其进行xml声明和mapperdtd文件声明(注意与mybatis-config.xml的dtd文件声明的区别)
然后在mybatis-config.xml文件引入该实体与数据库的映射。即在其
当数据库列字段名为多单词且用"_"拼接时,还需在其
到此为止,mybatis需要的配置就已全部完成。
运行程序测试结果
在src源码目录下建立一个类叫作:HelloWord,来运行测试配置环境是否成功,具体代码如下示:
importjava.io.Reader;
importorg.apache.ibatis.io.Resources;
importorg.apache.ibatis.session.SqlSession;
importorg.apache.ibatis.session.SqlSessionFactory;
importorg.apache.ibatis.session.SqlSessionFactoryBuilder;
importcom.yiibai.mybatis.models.*;
/**
*
*@authoryiibai
*@copyright//www.nhooo.com
*@date2015/09/22
*/
publicclassHelloWord{
privatestaticSqlSessionFactorysqlSessionFactory;
privatestaticReaderreader;
static{
try{
reader=Resources.getResourceAsReader("config/Configure.xml");
sqlSessionFactory=newSqlSessionFactoryBuilder().build(reader);
}catch(Exceptione){
e.printStackTrace();
}
}
publicstaticSqlSessionFactorygetSession(){
returnsqlSessionFactory;
}
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
SqlSessionsession=sqlSessionFactory.openSession();
try{
Useruser=(User)session.selectOne(
"com.yiibai.mybatis.models.UserMapper.GetUserByID",1);
if(user!=null){
StringuserInfo="名字:"+user.getName()+",所属部门:"+user.getDept()+",主页:"+user.getWebsite();
System.out.println(userInfo);
}
}finally{
session.close();
}
}
}
现在运行这个程序,不是得到查询结果了?正确的输出结果应该如下:
名字:yiibai,所属部门:Tech,主页://www.nhooo.com
到此这篇关于Mybatis环境配置及测试详解的文章就介绍到这了,更多相关Mybatis环境配置内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。