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 }

    //文件位置关系

    
    
    
  • 相关阅读:
    172. Factorial Trailing Zeroes
    96. Unique Binary Search Trees
    95. Unique Binary Search Trees II
    91. Decode Ways
    LeetCode 328 奇偶链表
    LeetCode 72 编辑距离
    LeetCode 226 翻转二叉树
    LeetCode 79单词搜索
    LeetCode 198 打家劫舍
    LeetCode 504 七进制数
  • 原文地址:https://www.cnblogs.com/Fisherman13/p/10597144.html
Copyright © 2011-2022 走看看