Mybatis框架是:定制SQL,存储过程,高级映射,的持久层框架,用于替代JDBC进行对数据库进行相关的操作
第一步: 引入相关的jar包
其中包括mybatis-libs\mybatis-3.4.0.jar和mysql-libs\mysql-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 id="development">
<!-- 配置事务管理器,请查阅帮助文档 -->
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<!-- 加载的驱动类 -->
<property name="driver" value="com.mysql.jdbc.Driver" />
<!-- 数据库连接信息 -->
<property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis" />
<!-- 用户名 -->
<property name="username" value="root" />
<!-- 密码 -->
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<!-- 加载映射文件 用mybatis-config.xml控制userMapper.xml文件 -->
<mappers>
<mapper resource="com/wangchao/model/UserMapper.xml"/>
</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 id="list" resultType="map">
select * from user
</select>
<!-- 获取结果集是单独map 当参数就一个值时 #{id} 中的值可以随意写-->
<select id="load" parameterType="int" resultType="map">
select * from user where id =#{id}
</select>
<!-- 传递值是map -->
<select id="load_map" parameterType="map" resultType="map">
select * from user where id = #{id} and user_name=#{userName}
</select>
<!-- 添加的操作 传递的参数类型是map-->
<insert id="add" parameterType="map">
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()
{
}
}