Mybatis Mapper代理
1.mybatis等配置文件,实体类和原生一样
2.在mapper包下新建接口类my2,方法即为操作数据库方法
package mapper;
import entity.User;
import java.util.List;
public interface my2 {
public int insert(User u);
public int update(User u);
public int deleteById(int id);
public List<User> findAll();
public User findById(int id);
}
3.在mapper包下新建my2Mapper.xml
注意事项:namespace要写接口类的路径
<?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="mapper.my2">
<insert id="insert" parameterType="entity.User">
insert into login(userid,userName,userPwd)
values (#{userid},#{userName},#{userPwd})
</insert>
<select id="findAll" resultType="entity.User">
select *
from login
</select>
<select id="findById" parameterType="int" resultType="entity.User">
select *
from login
where userid=#{userid}
</select>
<update id="update" parameterType="entity.User">
update login
set userName=#{userName},userPwd=#{userPwd}
where userid=#{userid}
</update>
<delete id="deleteById" parameterType="int">
delete
from login
where userid=#{userid}
</delete>
</mapper>
4.在config.xml文件下注册my2Mapper.xml
5.测试
public void fun2(){
/**
* 使用Mapper代理
* 1.定义接口
* 2.编写与接口对于的Mapper.xml 定义接口对应的sql语句
*
*/
InputStream is= App.class.getClassLoader().getResourceAsStream("config.xml");
SqlSessionFactoryBuilder ssfb=new SqlSessionFactoryBuilder();
SqlSessionFactory ssf=ssfb.build(is);
SqlSession sqlSession=ssf.openSession();
//获取实现接口的代理对象
my2 m=sqlSession.getMapper(my2.class);
// List<User> list=m.findAll();
// for (User u:list) {
// System.out.println(u.getUserName());
// }
User user1=m.findById(5);
System.out.println(user1.getUserName());
sqlSession.close();
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律