zoukankan      html  css  js  c++  java
  • MybatisMapper 动态映射(增删改查)

    //接口内容以及注意事项

     1 package cn.jy.mybatis.mapper;
     2 
     3 import java.util.List;
     4 
     5 import cn.jy.mybatis.pojo.User;
     6 
     7 public interface UserMapper {
     8     //四个原则
     9     //1  .xml中的名称空间要绑定此接口      <mapper namespace="cn.jy.mybatis.mapper.UserMapper">
    10     //2  接口的方法名必须跟   .xml文件的id名一致
    11     //3  接口中的方法的返回值类型要跟  .xml返回值类型一致
    12     //4  接口中的方法的参数类型要跟  .xml文件的传入的参数类型一致
    13     
    14     User findUserById(int id);
    15     List<User> findUserByUserName(String username);
    16     void insertUser(User u);
    17     void updateUserById(User u);
    18     void deleteUserById(int u);
    19 }

    //.xml 配置文件

     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 <!-- sql语句 -->
     6 <mapper namespace="cn.jy.mybatis.mapper.UserMapper">
     7    <!-- 通过id 查找用户 -->
     8    <select id="findUserById" parameterType="Integer" resultType="cn.jy.mybatis.pojo.User">
     9        select * from user where id=#{qiang}
    10    </select>
    11    <!-- 模糊查询 -->
    12    <select id="findUserByUserName" parameterType="String" resultType="cn.jy.mybatis.pojo.User">
    13        select * from user where username like "%"#{qaingtong}"%"
    14    </select>
    15    <!--添加用户 -->
    16     <insert id="insertUser" parameterType="cn.jy.mybatis.pojo.User" >
    17          insert into user (username,birthday,address,sex)values (#{username},#{birthday},#{address},#{sex})
    18    </insert>
    19    <!-- 更新 -->
    20    <update id="updateUserById" parameterType="cn.jy.mybatis.pojo.User">
    21         update user
    22         set username=#{username},sex=#{sex},birthday=#{birthday},address=#{address}
    23         where id=#{id}
    24    </update>
    25    <!-- 删除 -->
    26    <delete id="deleteUserById" parameterType="Integer">
    27            delete from user
    28            where id=#{DDDD}
    29    </delete> 
    30 </mapper>

    //sqlMapConfig.xml主配置文件

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <!DOCTYPE configuration
     3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
     4 "http://mybatis.org/dtd/mybatis-3-config.dtd">
     5 <configuration>
     6 
     7 <!-- 别名 包以其子包下所有类 头字母大小都行-->
     8 <typeAliases>
     9 <!-- <typeAlias type="cn.lijun.mybatis.pojo.User" alias="User"/> -->
    10 <package name="cn.jy.mybatis.pojo"/>
    11 </typeAliases>
    12 <!-- 和spring整合后 environments配置将废除 -->
    13 <environments default="development">
    14 <environment id="development">
    15 <!-- 使用jdbc事务管理 -->
    16 <transactionManager type="JDBC" />
    17 <!-- 数据库连接池 -->
    18 <dataSource type="POOLED">
    19 <property name="driver" value="com.mysql.jdbc.Driver" />
    20 <property name="url"
    21 value="jdbc:mysql://localhost:3306/day58?characterEncoding=utf-8" />
    22 <property name="username" value="root" />
    23 <property name="password" value="root" />
    24 </dataSource>
    25 </environment>
    26 </environments>
    27 <mappers>
    28        <mapper resource="sqlMap/User.xml"/> <!--  上一篇所用到的-->
    29        <mapper resource="cn/jy/mybatis/mapper/UserMapper.xml"/>
    30 </mappers>
    31 </configuration>
    
     //测试类
    
     1 package cn.jy.mybatis.mapper;
     2 
     3 import java.io.IOException;
     4 import java.io.InputStream;
     5 import java.util.Date;
     6 import java.util.List;
     7 
     8 import org.apache.ibatis.io.Resources;
     9 import org.apache.ibatis.session.SqlSession;
    10 import org.apache.ibatis.session.SqlSessionFactory;
    11 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    12 import org.junit.Test;
    13 
    14 import cn.jy.mybatis.pojo.User;
    15 
    16 public class MybatisMapperTest {
    17 @Test
    18 public void TestMapper() throws IOException{
    19     String re="sqlMapConfig.xml";
    20       InputStream resourceAsStream = Resources.getResourceAsStream(re);
    21        SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
    22         SqlSession openSession = build.openSession();
    23       
    24        //帮助我们给接口创建实现类 
    25        UserMapper mp=openSession.getMapper(UserMapper.class);
    26        
    27       //1 根据id查找
    28 //       User findUserById = mp.findUserById(22);
    29 //      System.out.println(findUserById);
    30       
    31       
    32       //2 根据名字模糊查找
    33 //        List<User> findUserByUserName = mp.findUserByUserName("小明");
    34 //        for(User a:findUserByUserName){
    35 //             System.out.println(a);
    36 //        }
    37       //3 添加操作 
    38 //        User user = new User();
    39 //        user.setAddress("北京");
    40 //        user.setBirthday(new Date());
    41 //        user.setSex("男");
    42 //        user.setUsername("殷總");
    43 //        mp.insertUser(user);
    44 //        openSession.commit();
    45      
    46       //4  更新操作
    47          User user = new User();
    48          user.setAddress("北京");
    49          user.setBirthday(new Date());
    50          user.setId(31);
    51          user.setSex("男");
    52          user.setUsername("王总666");
    53          mp.updateUserById(user);
    54          openSession.commit();
    55        //刪除操作
    56 //       User user = new User();
    57 //       mp.deleteUserById(26);
    58 //       openSession.commit();
    59 }
    60 }

    //文件位置关系

    
    
    
  • 相关阅读:
    官方源、镜像源汇总
    Kubernetes V1.15 二进制部署集群
    ZABBIX 4.0 LTS 部署
    SSH + Google Authenticator 安全加固
    Hadoop+HBase 集群搭建
    自动化运维之PSSH
    KVM之CPU虚拟化
    GoAccess日志分析工具
    HTTPS之acme.sh申请证书
    AWStats日志分析系统
  • 原文地址:https://www.cnblogs.com/Fisherman13/p/10597144.html
Copyright © 2011-2022 走看看