MyBaties——动态代理方式
程序员文章站
2022-03-14 23:08:09
...
1、搭建相关环境,引入MyBaties.jar包,创建config.xml mapper.xml
2、创建接口
package com.Demo2;
import Demo1.Person;
//操作mybaties的接口
public interface mapper {
// 接口的名字是mapper.xml 中的 namespace 的值
// 根据接口名 找到namespace的值 定位出是哪个mapper.xml(接口全类名 = namespace)
// 根据方法名找到mapper.xml文件中的SQL标签(方法名 = SQL标签ID值)
// 1方法名和ID值一样
// 2方法的输入参数和mapper.xml中的parameterType类型一致?
// 3方法的返回值和mapper.xml中的resultType类型一致
public abstract Person selectBlog(int ID);
}
习惯:接口和SQL的映射文件mapper.xml在一个包中(修改 config.xml中mapper.xml文件的路径)
3、测试:
测试2:
mapper.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">
<!-- namespace:该Mapper.xml映射文件的唯一标识符 -->
<mapper namespace="com.Demo2.mapper">
<!-- parameterType输出参数 resultType:查询的返回结果值类型 -->
<select id="selectBlog" resultType="Demo1.Person" parameterType="int">
select * from person where id=#{id}
</select>
<!-- parameterType 和 resultType 只能有一个 -->
<insert id="insertBlog" parameterType="Demo1.Person" >
insert into person(id,name,age) values(#{ID},#{name},#{age})
</insert>
<update id="updateBlog" parameterType="Demo1.Person">
update person set name=#{name}, age=#{age} where id=#{ID}
</update>
<delete id="deleteBlog" parameterType="int">
delete from person where id=#{id}
</delete>
<select id="selectALL" resultType="Demo1.Person" >
select * from person
</select>
</mapper>
package com.Demo2;
import java.util.List;
import Demo1.Person;
//test.java
//操作mybaties的接口
public interface mapper {
// 接口的名字是mapper.xml 中的 namespace 的 值
// 1方法名和ID值一样
// 2方法的输入参数和mapper.xml中的parameterType类型一致?
// 3方法的返回值和mapper.xml中的resultType类型一致
public abstract Person selectBlog(int ID);
public abstract Person insertBlog(Person p);
public abstract Person updateBlog(Person p);
public abstract void deleteBlog(int ID);
//返回值是是一数据库所有的对象,用list集合作为返回值
public abstract List<Person> selectALL();
}
上一篇: 自己去撩
下一篇: 小米联合美的放大招:年轻人的第一台空调
推荐阅读
-
代理方式有几种(一般代理和全权代理的区别)
-
mybatis批量insert数据动态表明(mysql批量insert正确方式)
-
详解Spring的两种代理方式:JDK动态代理和CGLIB动态代理
-
mybatis批量insert数据动态表明(mysql批量insert正确方式)
-
Java 源码剖析如何实现动态代理
-
详解Android的Splash启动图的两种动态切换方式
-
Spring学习之动态代理(JDK动态代理和CGLIB动态代理)
-
vue动态路由配置及路由传参的方式
-
Mybaits 源码解析 (十一)----- 设计模式精妙使用:静态代理和动态代理结合使用:@MapperScan将Mapper接口生成代理注入到Spring
-
2018年小程序创业最新动态与未来发展趋势:四大方式与六大领域