pojo
package cn.zyy.pojo;
import java.io.Serializable;
import java.util.Date;
public class User implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private Integer id;
private String username;// 用户姓名
private String sex;// 性别
private Date birthday;// 生日
private String address;// 地址
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", sex=" + sex
+ ", birthday=" + birthday + ", address=" + address + "]";
}
}
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="jdbc.properties"/>
<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>
<!-- Mapper的位置 Mapper.xml 写Sql语句的文件的位置 -->
<mappers>
<mapper resource="sqlmap/User.xml"/>
<!-- <package name="cn.zyy.pojo.User.xml"/> -->
</mappers>
</configuration>
测试类
package cn.zyy.test;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.List;
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;
import com.mysql.cj.xdevapi.SessionFactory;
import cn.zyy.pojo.User;
public class UserTest {
@Test
public void findUserById() throws IOException {
//加载核心配置文件
String resource = "sqlMapConfig.xml";
InputStream in = Resources.getResourceAsStream(resource);
//创建SqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
//创建SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行Sql语句
User user = sqlSession.selectOne("test.findUserById", 10);
System.out.println(user);
}
@Test
public void insertUser() throws IOException {
//加载核心配置文件
String resource = "sqlMapConfig.xml";
InputStream in = Resources.getResourceAsStream(resource);
//创建SqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
//创建SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
User user = new User();
user.setAddress("dsfsdfgdg");
user.setBirthday(new Date());
user.setUsername("张屿");
user.setSex("女");
sqlSession.insert("insertUser",user);
sqlSession.commit();
System.out.println(user.getId());
}
@Test
public void findLikeUser() throws IOException {
//加载核心配置文件
String resource = "sqlMapConfig.xml";
InputStream in = Resources.getResourceAsStream(resource);
//创建SqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
//创建SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行Sql语句
List<User> list = sqlSession.selectList("test.findLikeUser", "五");
for (User user : list) {
System.out.println(user);
}
}
@Test
public void updateUserById() throws IOException {
//加载核心配置文件
String resource = "sqlMapConfig.xml";
InputStream in = Resources.getResourceAsStream(resource);
//创建SqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
//创建SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
User user = new User();
user.setId(31);
user.setAddress("fgdfgfgfgsw2222");
user.setBirthday(new Date());
user.setUsername("张烟屿");
user.setSex("女");
sqlSession.insert("test.updateUserById",user);
sqlSession.commit();
}
@Test
public void deleteUserById() throws IOException {
String resource = "sqlMapConfig.xml";
InputStream in = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
SqlSession sqlSession = sqlSessionFactory.openSession();
sqlSession.delete("test.deleteUserById",26);
sqlSession.commit();
}
}
mapper
<?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">
<!-- 写Sql语句 -->
<mapper namespace="test">
<select id="findUserById" parameterType="Integer" resultType="cn.zyy.pojo.User">
<!-- parameterType占位符类型 -->
select * from user where id = #{v}
</select>
<select id="findLikeUser" parameterType="String" resultType="cn.zyy.pojo.User">
select * from user where username like "%"#{value}"%"
</select>
<insert id="insertUser" parameterType="cn.zyy.pojo.User" >
<!--
keyProperty:cn.zyy.pojo.User的主键名
resultType:主键的类型
order:AFTER保存后返回id;
自增长:当对数据库进行保存那时,先把数据保存下来,在生成id
-->
<selectKey keyProperty="id" resultType="Integer" order="AFTER">
select LAST_INSERT_ID()
</selectKey>
insert into user (username,sex,birthday,address) values (#{username},#{sex},#{birthday},#{address})
</insert>
<update id="updateUserById" parameterType="cn.zyy.pojo.User" >
update user
set username=#{username},sex=#{sex},birthday=#{birthday},address=#{address} where id=#{id}
</update>
<delete id="deleteUserById" parameterType="Integer">
delete from user where id = #{v}
</delete>
</mapper>