zoukankan      html  css  js  c++  java
  • MyBatis的dao的mapper写法

    ## 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接口生成动态代理实现类;(配置文件相当于是DAO的

    实现类,里面是一些具体的增删改查的方法)

    (说明:入参,返回值,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 }

     --------------------------------------------------------------------------------------------------

     MyBatis 入门程序步骤:

    1).用Mysql终端建库、建表;

    2).添加核心jar包和依赖(Mysql驱动jar);

    3).建立日志log4j.properties(用于控制台输出sql的);

    4).依据数据库字段进行写一个javaBean

    5).src目录下建一个xxxMapper.xml这个映射文件是用来配置sql的。

    6)  .src目录下建一个核心配置文件mybatis-config.xml用来配置数据库和数据库连接池等信息,并添加一个文件来加载所有的映射;

    7).src目录下建一个测试包,测试包下建一个测试类。

    成年人的世界没有那么多的童话,也没有那么多的逆袭。
  • 相关阅读:
    matplotlib直方图学习小记
    matplotlib饼状图学习小记
    P2306 被yyh虐的mzc
    P1776 宝物筛选_NOI导刊2010提高(02)&& 多重背包二进制优化
    51NOD 1445 变色DNA
    51NOD 1459 迷宫游戏
    CODEVS 1001 舒适的路线
    P4514 上帝造题的七分钟
    1082 线段树练习 3 && 树状数组区间修改区间查询
    P4145 上帝造题的七分钟2 / 花神游历各国
  • 原文地址:https://www.cnblogs.com/shijinglu2018/p/10324832.html
Copyright © 2011-2022 走看看