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

【小试牛刀】Mybatis采用注解开发

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

【小试牛刀】Mybatis采用注解开发

Mybatis与其说是采用注解开发,不如说是变相的,更加轻松的写增删改查,但是它对于一些复杂的sql语句,就力不从心,所以,如果你的业务需求是简单的sql就能完成,我建议你使用注解开发。但是原来的xml构建sqlsession工厂的方式更加灵活。

(注意:本文不提供基础的mybatis如何配置的教程,建议先去看官方文档再看本文章)

我写了用来获取session的工具类。

public class MyUtils {
    static SqlSessionFactory sqlSessionFactory =null;
    static {
        try {
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static SqlSession getSqlSession(){
        return sqlSessionFactory.openSession(false);
    }
}

值得注意的是,如果你写增删改老是忘记提交事务,我建议你把工厂的openSession方法的参数改成true,这里就会把autoCommit的值修改成true

 

public static SqlSession getSqlSession(){
        return sqlSessionFactory.openSession(true);
    }

下面是用注解开发的流程,

1.接口

public interface UserMapper {
    @Select("select * from user")
    List getAllUserList();

    @Select("select * from user where id = #{id}")
    List getUserById(@Param("id") int id);

    @Insert("insert into user(id,name,pwd)values(#{id},#{userName},#{password})")
    int addUser(User user);

    @Update("update user set name = #{userName},pwd = #{password} where id = #{id}")
    int updateUser(User user);
}

2.核心配置文件,注册mapper

值得一提的是,

如果你是用注解开发的,这里面建议用类名注册

如果是用xml开发的,建议用resource来映射出当前mapper下的xml路径

如果上面两种方式都用了,那就都引入。

    
    
        
    

 3.测试类

完全有效!

public class Test {
    @org.junit.Test
    public void test(){
        SqlSession sqlSession = MyUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        
        
        
        
        
        
        mapper.updateUser(new User(3,"aaa","bbb"));
    }
}

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

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

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