映射文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
<mapper namespace="test">
<select id="findUserById" parameterType="int" resultType="mybatis.po.User">
select * from user where id=#{id}
</select>
<!-- 模糊查询 -->
<select id="findUserByName" parameterType="java.lang.String" resultType="mybatis.po.User">
select * from user where username like '%${value}%'
</select>
<insert id="insertUser" parameterType="mybatis.po.User">
<!-- 获取自增主键 -->
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
select LAST_INSERT_ID()
</selectKey>
insert into user(username ,birthday ,sex , address) values(#{username},#{birthday},#{sex},#{address})
</insert>
</mapper>
测试类:
package mybatis.first;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.List;
import mybatis.po.User;
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 org.junit.Test;
public class MybatisFirst {
@Test
public void findUserById() throws IOException{
String resource="SqlMapConfig.xml";
InputStream InputStream= Resources.getResourceAsStream(resource);
SqlSessionFactory sessionFactory= new SqlSessionFactoryBuilder().build(InputStream);
SqlSession sqlSession=sessionFactory.openSession();
User user= sqlSession.selectOne("test.findUserById", 1);
System.out.println(user);
sqlSession.close();
}
@Test
public void findUserByName() throws IOException{
String resource="SqlMapConfig.xml";
InputStream InputStream= Resources.getResourceAsStream(resource);
SqlSessionFactory sessionFactory= new SqlSessionFactoryBuilder().build(InputStream);
SqlSession sqlSession=sessionFactory.openSession();
List<User> list=sqlSession.selectList("test.findUserByName","小明");
System.out.println(list);
sqlSession.close();
}
@Test
public void insertUser() throws IOException{
String resource="SqlMapConfig.xml";
InputStream InputStream= Resources.getResourceAsStream(resource);
SqlSessionFactory sessionFactory= new SqlSessionFactoryBuilder().build(InputStream);
SqlSession sqlSession=sessionFactory.openSession();
User user=new User();
user.setUsername("张三");
user.setBirthday(new Date());
user.setSex("1");
user.setAddress("北京");
sqlSession.insert("test.insertUser", user);
//获取自增主键
System.out.println(user.getId());
sqlSession.commit();
sqlSession.close();
}
}
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>
<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://localhost:3306/mybatis?characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value=""/>
</dataSource>
</environment>
</environments>
<!-- 加载映射文件 -->
<mappers>
<mapper resource="sqlmap/User.xml"/>
</mappers>
</configuration>