Mybatis的增删改查
插入数据
编写实体类
public class hero {
private int id;
private String name;
private int pwd;
private Date birthday;
@Override
public String toString() {
return "hero{" +
"id=" + id +
", name='" + name + '\'' +
", pwd=" + pwd +
", birthday=" + birthday +
'}';
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPwd() {
return pwd;
}
public void setPwd(int pwd) {
this.pwd = pwd;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public hero(int id, String name, int pwd, Date birthday) {
this.id = id;
this.name = name;
this.pwd = pwd;
this.birthday = birthday;
}
}
编写mybatis核心配置文件
<?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"/>
<!--数据源 POOLED 连接池-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/hero"/>
<property name="username" value="root"/>
<property name="password" value="1234"/>
</dataSource>
</environment>
</environments>
<mappers>
<!--导入Mapper.xml 里面写各种各样的sql语句-->
<mapper resource="Mapper.xml"></mapper>
</mappers>
</configuration>
编写接口类 提供方法
public interface PersonMapper {
void add(hero hero);
}
编写映射文件 里面写sql语句
<?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">
namespace 必须是接口名
<mapper namespace="com.Person.PersonMapper">
id必须是接口的方法名 Parmaetertype 是 参数类型 #{}是取出hero对象的值
<insert id="add" parameterType="com.Person.hero">
insert into person values (#{id},#{name},#{pwd},#{birthday});
</insert>
</mapper>
代码测试
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 java.io.IOException;
import java.io.InputStream;
import java.util.Date;
public class test {
public static void main(String[] args) throws IOException {
//加载 Mybatis 核心配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("Mybatis-config.xml");
//创建工厂
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
//创建 sqlSession 会话
SqlSession sqlSession = build.openSession();
//通过会话 获取接口对象
PersonMapper mapper = sqlSession.getMapper(PersonMapper.class);
//接口调用方法
mapper.add(new hero(1024,"Tom",465,new Date()));
sqlSession.commit();//提交事务
sqlSession.close();
resourceAsStream.close();
}
}
程序结果

查询
public interface PersonMapper {
void add(hero hero);
//根据id 查询数据
List<hero> SelectID(hero hero);
}
编写映射文件
<?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.Person.PersonMapper">
parameterType="com.Person.hero" 是返回值类型是hero
<select id="SelectID" resultType="com.Person.hero"
parameterType="com.Person.hero" >
select * from person where id = #{id};
</select>
</mapper>
测试
//加载 Mybatis 核心配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("Mybatis-config.xml");
//创建工厂
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
//创建 sqlSession 会话
SqlSession sqlSession = build.openSession();
PersonMapper mapper = sqlSession.getMapper(PersonMapper.class);
List<hero> heros = mapper.SelectID(new hero(233, "张三", 123, new Date()));
for (hero hero : heros) {
System.out.println(hero);
}
sqlSession.close();
resourceAsStream.close();
程序结果

删除操作
接口类添加删除方法
public interface PersonMapper {
void add(hero hero);
//根据id 查询数据
List<hero> SelectID(hero hero);
//删除
void DeleteID(hero hero);
}
映射文件中添加删除标签
<?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.Person.PersonMapper">
<delete id="DeleteID" parameterType="com.Person.hero">
delete from person where id = #{id};
</delete>
</mapper>
测试
//加载 Mybatis 核心配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("Mybatis-config.xml");
//创建工厂
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
//创建 sqlSession 会话
SqlSession sqlSession = build.openSession();
PersonMapper mapper = sqlSession.getMapper(PersonMapper.class);
mapper.DeleteID(new hero(233, "张三", 123, new Date()));
sqlSession.commit();//一定要提交 不然 删除 没用
sqlSession.close();
resourceAsStream.close();
程序结果

修改操作
在接口类 添加修改方法
public interface PersonMapper {
void add(hero hero);
//根据id 查询数据
List<hero> SelectID(hero hero);
//删除
void DeleteID(hero hero);
//修改
void UpdateID(hero hero);
}
映射文件 添加修改标签
<?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.Person.PersonMapper">
<update id="UpdateID" parameterType="com.Person.hero">
update person set name = #{name} where id = #{id};
</update>
</mapper>
程序结果


浙公网安备 33010602011771号