1.Mybatis 需要一个核心的 .jar 包(mybatis-3.2.8.jar),和两个支持的 .jar包(cglib-2.2.jar,asm-3.3.jar).
2. 创建核心的的配置文件 1.连接数据库的参数 名:mysql-config.xml
<?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">
<configuration>
<environments default="environment">
<environment id="environment">
<!-- JDBC不是告之mybatis直连操作的意思,告之转换协议需要 mysql...jar -->
<transactionManager type="JDBC"></transactionManager>
<!-- POOLED:使用缓存方式解析DB -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/book?useUnicode=true&characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<!-- 加载各个表和实体类对象映射关系的xml -->
<mapper resource="com/web/mybatis/userSql.xml"/>
</mappers>
</configuration>
3、连接针对需要操作表的映射关系 名:userSql.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">
<mapper namespace="usersMapper">
<!-- 针对users表相关数据库表的映射配置文件 -->
<resultMap type="com.web.entity.Users" id="userMap">
<id column="uid" property="uid" javaType="Integer" jdbcType="INTEGER"/>
<result column="uname" property="uname" javaType="string" jdbcType="VARCHAR"/>
<result column="upwd" property="upwd" jdbcType="VARCHAR" javaType="string" />
<result column="usex" property="usex" jdbcType="VARCHAR" javaType="string" />
<result column="udid" property="udid" jdbcType="INTEGER" javaType="Integer" />
<result column="udate" property="udate" jdbcType="VARCHAR" javaType="string" />
<result column="ulogo" property="ulogo" jdbcType="VARCHAR" javaType="string" />
<association property="dept" javaType="com.web.entity.Dept" resultMap="deptMap"></association>
</resultMap>
<resultMap type="com.web.entity.Dept" id="deptMap">
<id column="id" property="id" javaType="Integer" jdbcType="INTEGER"/>
<result column="d_name" property="name" javaType="string" jdbcType="VARCHAR"/>
</resultMap>
<!-- 数据查询语句-->
<select id="SelectUser" resultMap="userMap" parameterType="com.web.entity.Users">
select * from users where uname like #{uname}
</select>
</mapper>
其中< id />是主键,column=”“是数据库的字段名,property=”“是实体类中对映的属性名。
4、创建Mybatis工厂连接池的启动类(自定义),一方面,其担任多线程连接池.jar入口的角色,另一方面,激活连接池.jar
package com.web.mybatis;
import java.io.IOException;
import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
/**
* mybatis 连接池jar 入口
* 当mybatis被Spring整合的时候该类不存在
* @author Administrator
*
*/
public class MysqlMyabitsSessionFactory {
//创建工程连接池的对象,也就是线程的对象
private static SqlSessionFactory sqlSession=null;
private static MysqlMyabitsSessionFactory mySession=null;
//
public MysqlMyabitsSessionFactory() {
//加载核心的配置文件 mysql-config.xml
String resource="com/web/mybatis/mysql-config.xml";
//创建读取该配置文件的IO流
try {
//创建mybatis Reader读取配置文件的对象
Reader read=Resources.getResourceAsReader(resource);
//通过配置文件对象来获取操作线程
sqlSession=new SqlSessionFactoryBuilder().build(read);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//返回当前的类对象
public static MysqlMyabitsSessionFactory getInstance(){
if(mySession==null){
return new MysqlMyabitsSessionFactory();
}
return mySession;
}
public static SqlSessionFactory getSqlSessionFactory(){
return sqlSession;
}
}
5.创建一个类,实现select操作
package com.web.control;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import com.web.entity.Users;
import com.web.mybatis.MysqlMyabitsSessionFactory;
public class UsersModel {
//mybatis连接池对象
private SqlSession sqlSession=null;
public UsersModel() {
// TODO Auto-generated constructor stub
if(sqlSession==null){
sqlSession=MysqlMyabitsSessionFactory.getInstance()
.getSqlSessionFactory().openSession();
}
}
public List<Users> SelectUsers(){
Users user=new Users();
user.setUname("%ete%");
List<Users> list=this.sqlSession.selectList("SelectUser", user);
// ("SelectUser");
return list;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
UsersModel um=new UsersModel();
List<Users> ls=um.SelectUsers();
for (Users users : ls) {
System.out.println(users.getUid()+"-"+users.getUname1());
}
}
}
6.Mybatis接口开发模式 只需在上面的程序稍作修改 1.我们先在com.web.mapper包下建立一个实现接口创建一个查询方法
package com.web.mapper;
import java.util.List;
import com.web.entity.User;
public interface IUserMappler {
public List<User> SearchUser(User user);
public int DeleteUser(User user);
}
参考:
Mabitis入门
注意:本文归作者所有,未经作者允许,不得转载
更多内容请访问:IT源点