一、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工具类减少重复代码
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文件声明的区别)
然后在mybatis-config.xml文件引入该实体与数据库的映射。即在其
当数据库列字段名为多单词且用"_"拼接时,还需在其
到此为止,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();
}
}
}
上一篇:bootstrap改字体的方法