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

MyBatis的配置和简单使用

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

MyBatis的配置和简单使用

配置

pom.xml


        
        
            org.mybatis
            mybatis
            3.5.7
        
        
        
            junit
            junit
            4.12
            test
        
        
        
            mysql
            mysql-connector-java
            5.1.3
        
        
        
            log4j
            log4j
            1.2.17
        
    

mybatis-config.xml




    
    
    
        
        
        
        
    
    
        
        
        
        
        
    
    
    
        
        
            
            
            
            
                
                
                
                
                
                
                
                
            
        
    
    
    
        
        
        
    

jdbc.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/MyBatis
jdbc.username=root
jdbc.password=root

log4j.xml 配置打印sql

 

    
        
        
            
        
    
    
    
        
    
    
        
    
    
        
        
    

UserMapper.xml





    
    
      insert into t_user values(null,'admin','123',23,'女','11222@qq.com')
    

    
    
        select * from t_user
    

UserMapper

public interface UserMapper {
   int insertUser();

   List getAllUser();
}

SqlSessionUtils

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;

public class SqlSessionUtils {
    public static SqlSession getSqlSession() {
        SqlSession sqlSession = null;
        try {
            InputStream is = Resources.getResourceAsStream("mybatis-config.xml"); //创建SqlSessionFactoryBuilder对象
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
            // 创建SqlSession对象,此时通过SqlSession对象所操作的sql都会自动提交
            sqlSession = sqlSessionFactory.openSession(true);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return sqlSession;
    }
}

测试代码

 @Test
    public void testMyBatis() throws IOException {
        SqlSession sqlSession = SqlSessionUtils.getSqlSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        // 调用UserMapper接口中的方法,就可以根据UserMapper的全类名匹配元素文件,通过调用的方法名匹配 映射文件中的SQL标签,并执行标签中的SQL语句
        List result = userMapper.getAllUser();
        System.out.println(result);
        // sqlSession.commit(); 手动提交
    }

运行结果

xxxxMapper.xml获取参数值的两种方式
    若mapper接口中的方法参数为实体类对象时
    ${} :拼接字符串,需要加单引号
    #{} :占位符
  
    
      insert into t_user values(null,#{username},#{password},#{age},#{sex},#{email})
    

调用

	@Test
    public void testMyBatis() throws IOException {
        SqlSession sqlSession = SqlSessionUtils.getSqlSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        // 调用UserMapper接口中的方法,就可以根据UserMapper的全类名匹配元素文件,通过调用的方法名匹配 映射文件中的SQL标签,并执行标签中的SQL语句
        int result = userMapper.insertUser(new User(-1, "admin", "123456", 18, "女", "111@qq.com"));
        System.out.println(result);
    }

    使用@Param标识参数

可以通过@Param注解标识mapper接口中的方法参数


 

测试

    @Test
    public void testMyBatis() throws IOException {
        SqlSession sqlSession = SqlSessionUtils.getSqlSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        User user = userMapper.getUserByLogin("admin","123456");
        System.out.println(user);
    }


注:传入一个指定key的map集合也可以,在xxxxMapper.xml通过用map集合的key也可以获取到参数。

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

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

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