mybatis的dao的mapper写法

知识为进步之母,而进步又为富强之源泉。这篇文章主要讲述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" }## MyBatis的Dao编写【mapper代理方式实现】
【mybatis的dao的mapper写法】 
step1: 写一个接口,并写抽象方法

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

 
step2: 在同包下建一个UserMapper.xml(具体sql方法的显现类的方法的实现),这个相当于
是dao的实现类,mybatis会为mapper接口生成动态代理实现类;
(说明:入参,返回值,id等要与接口类中的对应,具体看下面的注释)
1 < ?xml version="1.0" encoding="UTF-8" ?> 2 < !DOCTYPE mapper 3PUBLIC "-//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"> 8insert into user(username,sex,birthday,address) 9value (#{username},#{sex},#{birthday},#{address}); 10< /insert> 11 12< !--受影响的返回的行数不用写,可以不用写,无意义?--> 13 14< select id="findUserById" parameterType="int" 15resultType="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 { 19SqlSession session; 20 21@Before 22public void before() throws IOException{ 23System.out.println("before...获取session"); 24//a)读取配置文件; 25InputStream is=Resources.getResourceAsStream("SqlMapConfig.xml"); 26//b)通过SqlSessionFactoryBuilder创建SqlSessionFactory会话工厂 。 27SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(is); 28// c)通过SqlSessionFactory创建SqlSession。 29session=sessionFactory.openSession(); 30} 31@After 32public void after(){ 33 34//关闭SqlSession。 35session.close(); 36} 37 38@Test 39public void test1() throws IOException{ 40//通过session拿到这个接口的代理代理直接转成接口的实现类,并指向UserMapper这个接口 41UserMapper userMapper=session.getMapper(UserMapper.class); 42 43//获取数据 44System.out.println(userMapper.findUserById(1)); 45 46//保存 47User user2=new User("xx","x",new Date(),"xx"); 48userMapper.save(user2); 49session.commit(); 50} 51 }

 














    推荐阅读