mybatis的增删改查
pom.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ujiuye</groupId>
<artifactId>Mybatis</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<!--MySQL-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<!--MyBatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.0</version>
</dependency>
<!--单元测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<!--log4j日志-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
</project>
创建SQL
create table userinfo(
uid int primary key auto_increment,
uname varchar(20),
age int
);
UserBean.java
package com.itdbc.bean;
public class UserBean {
private int uid;
private String uname;
private int age;
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "UserBean{" +
"uid=" + uid +
", uname='" + uname + '\'' +
", age=" + age +
'}';
}
}
resources文件夹下配置mybatis_conf.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"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/day02?characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<!--管理mapper文件-->
<mappers>
<mapper resource="UserMapper.xml"></mapper>
</mappers>
</configuration>
resources文件夹下配置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="userMapper">
<insert id="add" parameterType="com.itdbc.bean.UserBean">
insert into userinfo (uname, age) values (#{uname },#{age});
</insert>
<delete id="del">
delete from userinfo where uid=#{0}
</delete>
<update id="updateUser" parameterType="com.itdbc.bean.UserBean">
update userinfo set uname=#{uname}, age=#{age} where uid=#{uid}
</update>
<select id="findAll" resultType="com.itdbc.bean.UserBean">
select * from userinfo
</select>
</mapper>
测试类:
package com.itdbc.test;
import com.itdbc.bean.PersonBean;
import com.itdbc.bean.UserBean;
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 java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class MyTest {
//添加操作
@Test
public void add() throws IOException {
//1.加载mybatis核心配置文件
InputStream is = Resources.getResourceAsStream("mybatis_conf.xml");
//2.获取SqlSessionFactory
SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(is);
//3.获取SqlSession
SqlSession session = ssf.openSession();
//4.执行添加操作
UserBean u = new UserBean();
u.setUname("罗辑");
u.setAge(23);
session.insert("userMapper.add",u);
//提交 mybatis默认是手动提交
session.commit();
session.close();
}
/**删除操作
* @throws IOException
*/
@Test
public void del() throws IOException {
//1、加载mybatis_conf.xml核心配置文件
InputStream is = Resources.getResourceAsStream("mybatis_conf.xml");
//2.获取SqlSessionFactory
SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(is);
//3.获取到SqlSession
SqlSession session = ssf.openSession();
//4.执行删除操作
int row = session.delete("userMapper.del", 2);//mapper文件命名空间+sql的id
System.out.println("删除了"+row+"行");
//mybatis默认手动提交
session.commit();
session.close();
}
@Test
public void update() throws IOException {
//1、加载mybatis_conf.xml核心配置文件
InputStream is = Resources.getResourceAsStream("mybatis_conf.xml");
//2、获取SqlSessionFactory
SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(is);
//3、获取SqlSession
SqlSession session = ssf.openSession();
//执行修改操作
UserBean u = new UserBean();
u.setUid(3);
u.setAge(22);
u.setUname("章北海");
int update = session.update("userMapper.updateUser", u);
//提交修改操作 mybatis默认手动提交
session.commit();
session.close();
}
/**
* 查询操作
*/
@Test
public void findAll() throws IOException {
//1、加载核心配置文件
InputStream is = Resources.getResourceAsStream("mybatis_conf.xml");
//2、获取SqlSessionFactory
SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(is);
//3、获取SqlSession
SqlSession session = ssf.openSession();
//4、执行查询操作
List<Object> list = session.selectList("userMapper.findAll"); //mapper文件命名空间+sql的id
System.out.println(list);
}
}