栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Mybatis的快速入门和两个配置文件的介绍。

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mybatis的快速入门和两个配置文件的介绍。

一.Mybatis的快速入门 1.引入mybatis的坐标,mybatis下载地址:https://github.com/mybatis/mybatis-3

    
    
        mysql
        mysql-connector-java
        5.1.32
    
    
    
        org.mybatis
        mybatis
        3.4.6
    
    
    
        junit
        junit
        4.12
    
    
    
        log4j
        log4j
        1.2.17
    
    
    
        org.projectlombok
        lombok
        1.18.10
    
2.编写实体类(例子中用User),并且在数据库中建表
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private String username;
    private int id;
    private String password;
}
3.编写MapConfig.xml配置文件




    
    
    
    
        
    
    
                      
                            
            
                                
                
                
                
                
            
        
    
    
    
        
        
        
    
4.编写mapper.xml映射文件和mapper接口






    
        select * from user where id= #{id}
    
import domin.User;
public interface Usermapper {
    User findUserById(int id);
}
5.测试代码:
    @Test//简单查询
    public void test1() throws IOException {
        InputStream resourceAsStream = Resources.getResourceAsStream("mybatis_config.xml");
        SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
        SqlSession sqlSession = build.openSession();
        Usermapper usermapper = sqlSession.getMapper(Usermapper.class);
        User user = usermapper.findUserById(4);
        System.out.println(user);
        sqlSession.commit();
    }
6.【拓展】:reasourses目录下添加log4j.xml的配置文件



    
        
        
			
        
    
    
        
    
    
        
    
    
        
        
    

7.【拓展】封装工具类
public class SqlSessionUtil {
    public static SqlSession getSqlSession(){
        InputStream resourceAsStream = null;
        SqlSession sqlSession=null;
        try {
            resourceAsStream = Resources.getResourceAsStream("mybatis_config.xml");
            SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
            sqlSession = build.openSession(true);//自动提交事务
        } catch (IOException e) {
            e.printStackTrace();
        }
        return sqlSession;
    }
}
二.MapConfig.xml配置文件和mapper.xml映射文件详细解释: 1.MapConfig.xml配置文件



    
    
     
    
        
        
        
    
    
    
                          
            
                                     
                                     
                                           
             
                                       
                                       
                                       
               
               
               
               
            
        
    
    
    
        
    

2.mapper.xml







    
    
        select * from user where username= #{username} 
    

    
    
        
        select * from user where username = #{username} and password = #{password}
    

    
    
        select * from user where username = #{username} and password = #{password}
    
@Test
    public void test3() throws IOException {
        SqlSession sqlSession = SqlSessionUtil.getSqlSession();
        Usermapper usermapper = sqlSession.getMapper(Usermapper.class);
        //第一种
        User user1 = usermapper.getUserByUsername("xueyimeng");
        System.out.println(user1);
        //第二种
        User user2 = usermapper.getUser("xueyimeng","123");
        System.out.println(user2);
        //第三种
        Map map=new HashMap<>();
        map.put("username","lisi");
        map.put("password","123");
        User user3 = usermapper.getUserByMap(map);
        System.out.println(user3);
        //第四种
        User user4 = usermapper.getUserByPojo(new User(4, "xueyimeng", "123"));
        System.out.println(user4);
        //第五种
        User user5 = usermapper.getUserByParam("xueyimeng", "123");
        System.out.println(user5);
    }
五种返回结果:

1.返回单个对象
2.返回多个对象(实体类的List集合)
3.返回单个数据
4.一条数据返回map集合
5.多条数据返回map集合(map集合的map集合)

    
    
        select * from user
    

    
    
        select * from user where id=#{id}
    

    
      
      
      
         select * from user
      
@Test//五种返回结果
    public void test4() throws IOException {
        SqlSession sqlSession = SqlSessionUtil.getSqlSession();
        Usermapper usermapper = sqlSession.getMapper(Usermapper.class);
        //第一种  返回一个对象
        User user1 = usermapper.getUserByUsername("xueyimeng");
        System.out.println(user1);
        //第二种  返回对象集合
        List users = usermapper.getUsers();
        System.out.println(users);
        //第三种  返回单个数据
        int count = usermapper.getCount();
        System.out.println(count);
        //第四种  查一条数据返回map集合
        Map map = usermapper.getUserToMap(4);
        System.out.println(map);
        //第五种  查多条数据返回map集合
          //5.1
        List> mapsOne = usermapper.getUsersToMapOne();
        System.out.println(mapsOne);
          //5.2
        Map mapsTwo = usermapper.getUsersToMapTwo();
        System.out.println(mapsTwo);
    }
特殊的SQL执行:

1.模糊查询
2.批量删除
3.动态获取表名
4.添加功能获取自增的主键

    
    
    
        select * from ${tableName}
    
    
    
    
        insert into user values (null,#{username},#{password})
    
    @Test//特殊Sql
    public void test5() throws IOException {
        SqlSession sqlSession = SqlSessionUtil.getSqlSession();
        Usermapper usermapper = sqlSession.getMapper(Usermapper.class);
        //第一种 模糊查询
        List users = usermapper.getUserByLike("梨");
        System.out.println(users);
        //第二种 批量删除
        int count = usermapper.deleteMore("1,2");
        System.out.println(count);
        //第三种 动态获取表名
        List users2 = usermapper.getUserByTable("user");
        System.out.println(users2);
        //第四种 添加功能获取自增的主键
        User user = new User("lisi", "123");
        usermapper.insertUser(user);
        System.out.println(user);
    }
resultMap的映射

1.普通的映射:

    
    
        
        
        
    
    
        SELECT *,goods.`id` goods_id FROM goods,USER WHERe goods.`user_id`=user.`id`
    


 
    
        
        
        
         
             
            
            
            
        
    
    
        select * from goods where id=#{id}
    
    
    
        
        
        
    
    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/852414.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号