mybatis基于mapper开发(五)
来源:互联网 发布:淘宝包包代理 编辑:程序博客网 时间:2024/05/16 18:24
基于mapper开发,只需写mapper接口(相当于Dao接口)
基于mapper开发需要遵循一些mapper开发规范,mybatis可以自动生成mapper实现类的代理对象
mapper代理开发规范
1. mapper接口的全限定名要和mapper映射文件的namespace值一致。
2. mapper接口的方法名称要和mapper映射文件的statement的id一致。
3. mapper接口的方法参数类型要和mapper映射文件的statement的parameterType的值一致,而且它的参数是一个。
4. mapper接口的方法返回值类型要和mapper映射文件的statement的resultType的值一致。
UserMapper接口
package com.test.mapper;import com.test.domain.User;public interface UserMapper { User findUserById(int id); User findUserByUserName(String userName); void insertUser(User user);}
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="com.test.mapper.UserMapper"> <select id="findUserById" parameterType="int" resultType="com.test.domain.User"> SELECT * FROM USER WHERE id =#{id} </select> <select id="findUserByUserName" parameterType="String" resultType="com.test.domain.User"> SELECT * FROM USER WHERE userName like '%${value}%' </select> <insert id="insertUser" parameterType="com.test.domain.User"> <selectKey keyProperty="id" resultType="int" order="AFTER"> SELECT LAST_INSERT_ID() </selectKey> INSERT INTO USER (username,birthday,sex,address) VALUES (#{username},#{birthday},#{sex},#{address}) </insert></mapper>
注:mapper.xml配置文件中的namespace需要与mapper接口的全类名一致
全局配置文件sqlMapConfig.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/test?useUnicode=true&characterEncoding=utf8" /> <property name="username" value="root" /> <property name="password" value="root" /> </dataSource> </environment> </environments> <!-- 加载映射文件 --> <mappers> <mapper resource="mapper/UserMapper.xml" /> </mappers></configuration>
mappers标签用法
//相对于类路径的资源<mapper resource="mapper/UserMapper.xml" />
//完全限定路径<mapper url="file:///F:\work\store\mybatis_01\config\mapper\UserMapper.xml"/>
//mapper接口的全限定名//注:此种方法要求mapper接口和mapper映射文件要名称相同,且放到同一个目录下;<mapper class="com.test.mapper.UserMapper"/>
//指定包下的所有映射文件//注:此种方法要求mapper接口和mapper映射文件要名称相同,且放到同一个目录下;<package name="com.test.mapper"/>
测试代码
@org.junit.Test public void test_02() throws Exception{ SqlSession sqlSession = sqlSessionFactory.openSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); User user = mapper.findUserById(1); System.out.println(user); } @org.junit.Test public void test_03() throws Exception{ SqlSession sqlSession = sqlSessionFactory.openSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); User user = new User(); user.setUsername("不知火舞"); user.setSex("1"); user.setBirthday(new Date()); user.setAddress("民治"); mapper.insertUser(user); User user2 = mapper.findUserById(user.getId()); sqlSession.commit(); System.out.println(user2); }
阅读全文
0 0
- mybatis基于mapper开发(五)
- mybatis基于mapper代理的开发
- Mybatis(五)-Mapper.xml
- Mybatis(Mapper映射开发)
- 【Mybatis从0到1-006】mybatis开发DAO之基于mapper代理
- [mybatis]Mapper接口代理开发
- 4.mybatis,mapper代理开发
- mapper代理方法开发mybatis
- Mybatis Mapper代理开发规范
- mybatis开发Mapper代理方式
- mybatis mapper接口代理开发
- mybatis中mapper代理实现(五)
- (五)mybatis学习之mapper代理开发方式及与spring整合
- 【MyBatis-05】mybatis开发mapper的方式
- 基于注解的Mybatis mapper 接口注意事项
- MyBatis 入门开发 ----Mapper接口开发
- Mybatis-Dao层开发之Mapper接口
- mybatis入门--mapper代理方式开发
- Unity3D之热更新
- AutoCAD文档03——常见问题02.线段中点捕捉
- SSH(Struts2-Spring-Hibernate)
- Java项目经验——程序员成长的钥匙
- 如何将String转换成Date类型
- mybatis基于mapper开发(五)
- oracle
- css3小知识
- 拼多多2017秋招编程
- js对象冻结
- htmlunit 学习笔记
- 包的设计原则
- hadoop 超详细入门wordcount
- python装饰器