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 }

//文件位置关系

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM