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 }

//文件位置关系

 

 
 

 

转载于:https://www.cnblogs.com/Fisherman13/p/10597144.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值