Mybatis 数据库增上改查语句的实现例子

本文详细介绍了Mybatis如何进行数据库的增删改查操作,包括查询、增加、修改用户信息的步骤,并给出了接口定义、mapper中的SQL语句以及测试代码示例。同时,文中还提到了在实际操作中需要注意的事项,如事务提交、mapper命名空间的正确写法以及避免XML文件的乱码问题。

Mybatis 数据库增上改查语句的实现例子

注意事项
增删改的时候都必须提交事务才能将数据有更改
查询语句
id:就是对应的namespace中的方法名resultType:sql语句执行的返回值parameterType:参数类型!

1.编写接口
//根据id查用户User getUserByid(int id);
2.编写对应的mapper中的sql语句

//执行语句select *from 表名 where id =#{id}

3.测试
//测试 根据id查询所有信息@Testpublic void getUserById(){//第一步获取sqlSession 对象SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = mapper.getUserById(1001);
System.out.println(user);sqlSession.close();}

增加用户信息
1.编写接口int addUser(User user);2.编写对应的mapper中的SQL语句
insert into tyuser(id,username,pwd) values(#{id},#{username},#{pwd})
3.测试@Testpublic void addUser(){//第一步获取sqlSession 对象SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int user = mapper.addUser(new User(1003,“roro”,“111111”));if (user>0){System.out.println(“插入成功”);}else{System.out.println(“插入失败”);}//提交事务sqlSession.commit();//释放资源sqlSession.close();
}
修改用户信息
1.编写接口
//修改用户int updateUser(User user);
2.编写对应的mapper中的SQL语句

update tyuser set username=#{username},pwd=#{pwd} where id=#{id}
3.测试
//修改用户信息@Testpublic void updateUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper userMapper = sqlSession.getMapper(UserMapper.class);userMapper.updateUser(new User(1001,“dodo”,“123456”));
sqlSession.commit();sqlSession.close();}

注意事项:
1.mapper namespace必须写包名"." 不能写“/”
2.标签不要匹配错:insert必须写insert语句 select必须写select语句3.resource绑定mapper,需要使用路径,用"/"隔开 不能写“.”。4.NullPointerException空指针异常的问题5.输出的xml文件中存在中文乱码问题6.maven资源没有导出问题–在maven配置resource 防止资源导出失败问题
万能Map
1.假设,我们的实体类或者数据库中的表,字段或参数过多,推荐使用MapMap传递参数,直接在sql中取出key即可!【paramenterType=“map”】
2.对象传递参数,直接在sql中取对象的属性即可。【paramenterType=“Object”】
3.只有一个基本参数类型的情况下,可以直接在sql中取到。多个参数用Map,或者注解!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值