一:配置SqlMapConfig.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>
<properties resource="datasource.properties"></properties>
<!--配置java类型-->
<typeAliases>
<!-- <typeAlias alias="User" type="com.test.bean.User"></typeAlias> -->
<package name="com.test.bean"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED"> <!-- 连接池 -->
<property name="driver" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
</environments>
<!--告诉mybatis去哪寻找映射SQL语句-->
<mappers>
<mapper resource="com/test/mapper/UserMapper.xml" />
</mappers>
</configuration>
二:datasource.properties
jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/myproject?useUnicode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=lovo
三: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" >
<mapper namespace="com.test.mapper.UserMapper">
<!-- resultMap存放结果值-->
<!-- property对应Bean的属性,column对应数据库的列,javaType数据库的列的类型,需是全路径 -->
<resultMap type="User" id="userMap">
<id property="userId" column="user_id" javaType="int"/>
<result property="userName" column="user_name" javaType="java.lang.String" />
<result property="userPwd" column="user_pwd" javaType="java.lang.String" />
<result property="userType" column="user_type" javaType="int" />
</resultMap>
<!-- id对应UserMapper.java中的方法名,parameterType是方法参数类型-->
<insert id="addUser" parameterType="User">
insert into users value(null,#{user.userName},#{user.userPwd},#{user.userType})
</insert>
<delete id="deleteUser">
delete from users where user_id =#{id}
</delete>
<!-- resultMap对应上面配置的<resultMap></resultMap> -->
<select id="findUserById" resultMap="userMap">
select * from users where user_id = #{id}
</select>
<select id="findAllUser" resultMap="userMap">
select * from users
</select>
<select id="findUserLikeName" resultMap="userMap">
select * from users where user_name like concat("%",#{name},"%")
</select>
<select id="findUserCount" resultType="int">
select count(*) from users
</select>
</mapper>
四:UserMapper.java
package com.test.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.test.bean.User;
//基本数据类型可以没有@Param("")
public interface UserMapper {
int addUser(@Param("user")User user);
int deleteUser(int id);
User findUserById(int id);
List<User> findAllUser();
List<User> findUserLikeName(@Param("name")String name);
int findUserCount();
}
五:DBUtil
package com.test.util;
import java.io.IOException;
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 class DBUtil {
private static SqlSessionFactory sessionFactory;
static{
InputStream in = null;
try {
in = Resources.getResourceAsStream("SqlMapConfig.xml");
sessionFactory = new SqlSessionFactoryBuilder().build(in);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
if(in != null)
try {
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static SqlSession getSession(){
return sessionFactory.openSession();
}
}
六:UserServiceImpl.java
package com.test.service.impl;
import java.sql.ResultSet;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.session.SqlSession;
import com.test.bean.User;
import com.test.mapper.UserMapper;
import com.test.service.UserService;
import com.test.util.DBUtil;
public class UserServiceImpl implements UserService{
SqlSession session = DBUtil.getSession();
private UserMapper mapper =session.getMapper(UserMapper.class);
@Override
public int regist(User user) {
int num = mapper.addUser(user);
session.commit(); //提交不可省略
return num;
}
}