mybatis的dao的mapper写法

p.p1 { margin: 0.0px 0.0px 13.0px 0.0px; text-align: justify; font: 16.0px Arial; color: #000000 }
span.s1 { }
span.s2 { font: 16.0px "PingFang TC" }

## MyBatisDao编写【mapper代理方式实现】

step1: 写一个接口,并写抽象方法

 1 package com.sjl.mapper;
 2
 3 import com.sjl.model.User;
 4
 5 public interface UserMapper {
 6     /*
 7   * 保存一个用户
 8   * */
 9     public int save(User user);//返回受影响的行数
10     public User findUserById(int id);
11 }

step2: 在同包下建一个UserMapper.xml(具体sql方法的显现类的方法的实现),这个相当于

是dao的实现类,mybatis会为mapper接口生成动态代理实现类;

(说明:入参,返回值,id等要与接口类中的对应,具体看下面的注释)

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE mapper
 3         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 4         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 5
 6 <mapper namespace="com.sjl.mapper.UserMapper">
 7     <insert id="save" parameterType="com.sjl.mapper.User">
 8         insert into user(username,sex,birthday,address)
 9         value (#{username},#{sex},#{birthday},#{address});
10     </insert>
11
12     <!--受影响的返回的行数不用写,可以不用写,无意义?-->
13
14     <select id="findUserById" parameterType="int"
15     resultType="com.sjl.mapper.User">
16
17     </select>
18
19 </mapper>
<!--   com.sjl.mapper.UserMapper  包名+接口名   id="save"  方法名   parameterType="com.sjl.mapper.User"  入参   resultType  返回结果-->

step3:在src下的sqlconf.xml中的添加如下内容,加载执行dao方法的映射文件;
<mappers>
<!--写映射文件的名字-->
        <mapper resource="com/gyf/mapper/UserMapper.xml"></mapper></mappers>

step4:测试类;
 1 package com.sjl.test;
 2
 3 import com.sjl.mapper.UserMapper;
 4 import com.sjl.model.User;
 5 import org.apache.ibatis.io.Resources;
 6 import org.apache.ibatis.session.SqlSession;
 7 import org.apache.ibatis.session.SqlSessionFactory;
 8 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
 9 import org.junit.After;
10 import org.junit.Before;
11 import org.junit.Test;
12
13 import java.io.IOException;
14 import java.io.InputStream;
15 import java.util.Date;
16 import java.util.List;
17
18 public class Demo02 {
19      SqlSession session;
20
21      @Before
22      public void before() throws IOException{
23           System.out.println("before...获取session");
24           //a)读取配置文件;
25           InputStream is=Resources.getResourceAsStream("SqlMapConfig.xml");
26           //b)通过SqlSessionFactoryBuilder创建SqlSessionFactory会话工厂 。
27              SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(is);
28           // c)通过SqlSessionFactory创建SqlSession。
29           session=sessionFactory.openSession();
30      }
31      @After
32      public void after(){
33
34           //关闭SqlSession。
35           session.close();
36      }
37
38      @Test
39      public void test1() throws IOException{
40           //通过session拿到这个接口的代理  代理直接转成接口的实现类,并指向UserMapper这个接口
41           UserMapper userMapper=session.getMapper(UserMapper.class);
42
43           //获取数据
44           System.out.println(userMapper.findUserById(1));
45
46           //保存
47           User user2=new User("xx","x",new Date(),"xx");
48           userMapper.save(user2);
49           session.commit();
50      }
51 }

原文地址:https://www.cnblogs.com/shijinglu2018/p/10324832.html

时间: 2024-10-22 10:36:25

mybatis的dao的mapper写法的相关文章

mybatis使用Dao和Mapper方式

1.配置jdcp.properties数据库连接文件 #mysql database settingjdbc.type=mysqljdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://1xxx:3306/xx?useUnicode=true&characterEncoding=utf-8jdbc.username=xxxjdbc.password=xxx #pool settingsjdbc.pool.init=1jdbc.pool.mi

MyBatis学习13-MyBatis使用mapper代理DAO方法进行开发

1.基本思路 需要编写mapper接口和mapper.xml映射文件.编写mapper接口需要遵循一些开发规范,从而让mybatis可以自动生成mapper接口实现类代理对象. a.在mapper.xml中namespace等于mapper接口地址 b.mapper.java接口中的方法名和mapper.xml中statement的id一致 c.mapper.java接口中的方法输入参数类型和mapper.xml中statement的parameterType指定的类型一致 d.mapper.j

Spring+SpringMVC+MyBatis深入学习及搭建(二)——MyBatis原始Dao开发和mapper代理开发(转发同上)

前面有写到Spring+SpringMVC+MyBatis深入学习及搭建(一)--MyBatis的基础知识.MybatisFirst中存在大量重复的代码.这次简化下代码: 原地址:http://www.cnblogs.com/shanheyongmu/p/7121016.html 使用MyBatis开发Dao,通常有两种方法,即原始Dao开发方法和Mapper接口开发方法. 1.SqlSession使用范围 1.1 SqlsessionFactoryBuilder 通过SqlSessionFac

Mybatis入门---dao开发和mapper代理开发

在说mabatis之前,先说说单独使用jdbc编程的缺陷. jdbc编程的大概流程大家都很清楚,基本分为以下几步: 加载数据驱动 创建并获取数据库连接 创建jdbc statement对象 设置sql语句,并设置sql语句中的参数 通过statement执行sql并获取结果 对执行的结果进行解析处理 释放资源 1 public static void main(String[] args) { 2 Connection connection = null; 3 PreparedStatement

mybatis根据数据库表结构自动生成实体类,dao,mapper

首先, pom需要引入 <!-- mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.39</version> </dependency> <!-- mybatis--> <dependency> <group

MyBatis开发Dao层的两种方式(Mapper动态代理方式)

MyBatis开发原始Dao层请阅读我的上一篇博客:MyBatis开发Dao层的两种方式(原始Dao层开发) 接上一篇博客继续介绍MyBatis开发Dao层的第二种方式:Mapper动态代理方式 Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上一篇博客中Dao接口实现类方法. Mapper接口开发需要遵循以下规范: (1)Mapper.xml文件中的namespace与mapper接口的类路

MyBatis开发Dao的原始Dao开发和Mapper动态代理开发

摘自:https://www.cnblogs.com/yichunguo/p/11990961.html 目录 咳咳...初学者看文字(Mapper接口开发四个规范)属实有点费劲,博主我就废了点劲做了如下图,方便理解: 原始Dao开发方式 1. 编写映射文件 3.编写Dao实现类 4.编写Dao测试 Mapper动态代理方式 1.定义Mapper.xml(映射文件) 2.编写UserMapper.xml配置文件内容: 3.编写UserMapper(接口文件) 4.加载UserMapper.xml

基于Mybatis的Dao层的开发

基于Mybatis的Dao层开发 SqlSessionFactoryBuilder用于创建SqlSessionFacoty,SqlSessionFacoty一旦创建完成就不需要SqlSessionFactoryBuilder了,因为SqlSession是通过SqlSessionFactory生产,所以可以将SqlSessionFactoryBuilder当成一个工具类使用,最佳使用范围是方法范围即方法体内局部变量. SqlSessionFactory是一个接口,接口中定义了openSession

mybatis开发dao的方法

mybatis开发dao的方法 1.1     SqlSession使用范围 1.1.1     SqlSessionFactoryBuilder 1 //以流的方式读取总的配置文件 2 Reader reader = Resources.getResourceAsReader("mybatis-config.xml"); 3 4 //生成SqlSessionFactory 5 SqlSessionFactory sqlSessionFactory = new SqlSessionFa