Mybatis04-Mybatis的增删改查

1、添加

1.1、Mapper接口中的方法

/**
 * Mybatis面向接口编程的两个一致:
 *      1、映射文件的namespace和mapper接口的全类名保持一致
 *      2、映射文件中SQL语句的id和mapper接口中的方法名一致
 *
 * 表 --> 实体类 --> mapper接口 --> 映射文件
 */
/**
 * 添加用户信息
 */
int insertUser();

1.2、Mapper接口的XML映射文件

<!-- int insertUser(); -->
<insert id="insertUser">
    insert into user values(null, 'sweet', '123', 23, '男')
</insert>

2、建议

建议在编写Mapper接口对应的XML映射文件时,将接口中的方法及其返回值复制到映射文件中,以便查看或者复制。

3、删除

3.1、Mapper接口

/**
 * 删除用户
 */
void deleteUser();

3.2、Mapper接口的XML映射文件

<!-- void deleteUser(); -->
<delete id="deleteUser">
   delete from user where id = 5
</delete>

4、修改

4.1、Mapper接口

/**
 * 修改用户信息
 */
void updateUser();

4.2、Mapper接口的XML映射文件

<!-- void updateUser(); -->
<update id="updateUser">
    update user set username = 'sweetyuge' where id = 4
</update>

5、查询一个实体类对象

5.1、Mapper接口

/**
 * 根据id查询用户信息
 */
User getUserById();

5.2、Mapper接口的XML映射文件

<!-- User getUserById(); -->
<!--
    查询功能的标签必须设置resultType或者resultMap
        resultType:设置默认的映射关系
        resultMap:设置自定义的映射关系
-->
<select id="getUserById" resultType="com.sweet.mybatis.pojo.User">
    select * from user where id = 3
</select>

6、查询集合

6.1、Mapper接口

/**
 * 查询所有用户信息
 */
List<User> getAllUser();

6.2、Mapper接口的XML映射文件

<!-- List<User> getAllUser(); -->
<select id="getAllUser" resultType="com.sweet.mybatis.pojo.User">
    select * from user
</select>

7、测试代码

/**
 * SqlSession默认不自动提交事务,若需要自动提交事务
 * 可以使用sqlSessionFactory.openSession(true);
 * @throws Exception
 */
@Test
public void testInsertUser() throws Exception {
    // 1 读取Mybatis的核心配置文件
    InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
    // 2 创建SQLSessionFactoryBuilder对象
    SqlSessionFactoryBuilder sessionFactoryBuilder = new SqlSessionFactoryBuilder();
    // 3 通过核心配置文件所对应的字节输入流创建工厂类SqlSessionFactory对象
    SqlSessionFactory sqlSessionFactory = sessionFactoryBuilder.build(is);
    // 4 SqlSession sqlSession = sqlSessionFactory.openSession();
    //      创建SqlSession对象,此时通过SqlSession对象所操作的sql都会自动提交
    SqlSession sqlSession = sqlSessionFactory.openSession(true);
    // 5 通过代理模式创建UserMapper接口的代理实现类对象
    UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    // 6 调用UserMapper接口中的方法,在执行时,会根据全类名+方法名匹配元素文件,
    // 通过调用的方法匹配映射文件中的SQL标签,并执行SQL标签中的sql语句
    int i = userMapper.insertUser();
    // 将sqlSessionFactory.openSession(true) 参数设置为true 就不用再手动提交了
    //sqlSession.commit();
    System.out.println(i);
}

@Test
public void testUpdateUser() throws Exception {
    InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
    //SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
    //SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
    SqlSession sqlSession = sqlSessionFactory.openSession(true);
    UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    //userMapper.updateUser();
    //userMapper.deleteUser();
    //User user = userMapper.getUserById();
    //System.out.println(user);
    List<User> userList = userMapper.getAllUser();
    userList.forEach(System.out::println);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值