mybatis使用mapper代理的方式操作数据库
来源:互联网 发布:javascript location 编辑:程序博客网 时间:2024/05/22 05:21
利用mapper 代理的方式操作数据库和上一篇利用传统的方式相比,不需要程序员自己创建 dao 的接口类,而是通过 mybatis 代理的方式创建。
但是要注意一点在 usermapper.xml 文件中 mapper 的 namespace 的值要等于 dao 的接口类的地址,这是和传统的方式(随便起个名字)不同的地方,还有其他一些注意点在下面列出来了
sqlMapperConfig.xml
<?xml version="1.0" encoding="utf-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><environments default="development"> <environment id="development"> <!-- 配置JDBC事务控制,由mybatis进行管理 --> <transactionManager type="JDBC"></transactionManager> <!-- 配置数据源,采用mybatis连接池 --> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/spring"/> <property name="username" value="root" /> <property name="password" value="5315314sd" /> </dataSource> </environment> </environments> <mappers> <!-- 加载 usermapper.xml 文件 --> <mapper resource="usermapper.xml"/> </mappers></configuration>
usermapper.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!-- mapper 的 namespace 的值要等于 userdao 接口的地址(包名.接口名) --><mapper namespace="testmapper.userdao"><!-- 查询用户id 名字要等于 userdao 接口里面对应的方法名, parameterType 的类型等于对应方法里面的输入参数类型, resultType是对应方法里面的返回值类型,例如 userdao 接口里面的方法:public user findUserById(int id); --><select id="findUserById" parameterType="int" resultType="test.user">select * from user where id =#{id}</select><!-- 添加用户 --><!-- parameterType:指定输入参数类型是 pojo #{}中指定 pojo 的属性名,接收到 pojo 的属性值 --><insert id="insertUser" parameterType="test.user">insert into user(name,password) values(#{name},#{password})</insert></mapper>userdao 接口:
package testmapper;import test.user;public interface userdao {public user findUserById(int id);public void inserUser(user user);}
测试类:
package testmapper;import java.io.IOException;import java.io.InputStream;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 test.user;public class test {public static SqlSessionFactory sf;public void setup() throws IOException{String resource = "SqlMapConfig.xml";InputStream is = Resources.getResourceAsStream(resource);sf = new SqlSessionFactoryBuilder().build(is);}public static void main(String[]args){test t = new test();try {t.setup();} catch (IOException e) {e.printStackTrace();}SqlSession sqlsession = sf.openSession();//创建userdao对象,mybatis 自动生成 mapper 代理对象userdao userdao = sqlsession.getMapper(userdao.class);user user = userdao.findUserById(1);System.out.println(user);}}
整个项目框架:
阅读全文
0 0
- mybatis使用mapper代理的方式操作数据库
- MyBatis的Mapper代理开发方式的简单使用
- Mybatis Mapper代理的开发方式
- MyBatis之 mapper代理方式
- mybatis开发Mapper代理方式
- mybatis——使用mapper代理开发方式
- Mybatis使用Mapper代理的方式生成DAO接口的实现类对象
- Mybatis的使用(mapper接口方式)
- Mybatis框架Mapper代理配置的两种方式
- mybatis 代理方式对数据库进行操作
- mybatis 的mapper代理小结
- Mybatis实现Mapper动态代理方式
- mybatis入门--mapper代理方式开发
- Mybatis之Mapper动态代理方式
- Mybatis之Mapper动态代理方式
- MyBatis中Mapper代理开发方式
- Mybatis实现Mapper动态代理方式
- mybatis(6)---mapper动态代理方式
- vue 页面缓存
- 大报表分段取数的灵活运用
- Minio快速入门
- springboot配置环境生开发测试环境
- ROC和AUC评价指标说明
- mybatis使用mapper代理的方式操作数据库
- JavaScript基础(6.Dom间接选择器)
- 记忆网络之Dynamic Memory Networks模型介绍及代码实现
- ARM内核和架构都是什么意思,它们到底是什么关系?
- JS的解析与执行——全局预处理命名冲突解决策略与执行
- 奇葩保险花样多,花样营销只为曝光量
- ShaderWeaver使用教程-文字闪烁
- 2017-12-11(docker挂载本地目录到容器)
- Java Spring MVC入门(五)——依赖注入之理论