Mybatis 环境搭建
Mybatis框架是:定制SQL,存储过程,高级映射,的持久层框架,用于替代JDBC进行对数据库进行相关的操作
第一步: 引入相关的jar包
其中包括mybatis-libsmybatis-3.4.0.jar和mysql-libsmysql-connector-java-5.1.39.jar
第二步:创建mybatis-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- MyBatis的核心配置文件 -->
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- 核心文件做了什么事情?
1.配置连接数据库的信息
2.加载映射文件
-->
<configuration>
<!-- 加载时 default 默认启动的加载的数据库信息 id不允许重复-->
<environments default="development">
<environment />
</mappers>
</configuration>
第三步:配置UserMapper.xml
<?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">
<!-- namespace相当于包名不允许重复 使用#获取到值,会自动编译 成类似 ‘值’的形式 利用接口的方式 需要使id的名字与接口内方法的名字完全相同 -->
<mapper namespace="com.wangchao.model.User">
<!--获取结果集市list -->
<select >
insert into user (account,password,user_name) values (#{account},#{password},#{userName})
</insert>
</mapper>
第四步:创建sqlSession
package com.wangchao.util;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public final class MyBatisUtils
{
private static SqlSessionFactory factory = null;
private static InputStream inputStream = null;
/** 核心配置文件所在位置 */
private final static String PATH = "mybatis-config.xml";
// 静态代码块
static
{
try
{
/** 读取核心配置文件 */
inputStream = Resources.getResourceAsStream(PATH);
/** 获取SqlSessionFactory */
factory = new SqlSessionFactoryBuilder().build(inputStream);
}
catch (Exception ex)
{// 捕获并处理
// logger.debug("加载文件异常,异常信息为:" + ex.getMessage());
throw new RuntimeException("加载文件异常,异常信息为:" + ex.getMessage());
}
}
/**
* 关闭资源SqlSession
*/
public static void closeSqlSession(SqlSession sqlSession)
{
if (sqlSession != null)
{
sqlSession.close();
}
}
/**
* 获取SqlSession
* @return SqlSession
*/
public static SqlSession getSqlSession()
{
return factory.openSession();
}
// 不能进行实例化操作
private MyBatisUtils()
{
}
}