Mybatis学习笔记-CRUD
2024-09-07 01:44:35
namespace
namesapce中的包名需与Dao/Mapper接口的包名一致
SELCET
选择,查询语句
- id:对应namespace中的方法;
- resultType:Sql语句执行的返回值(Class);
- parameterType:参数类型;
INSERT&UPDATE&DELETE
编写步骤
- 编写接口
// 根据ID查询用户
User getUserById(int id);
// Insert User
int addUser(User user);
// Delete User By ID
int delUser(int id);
// Update User
int updateUser(User user);
- 编写mapper中的sql语句
<!--根据ID查询用户-->
<select id="getUserById" parameterType="int" resultType="cn.iris.pojo.User">
SELECT * FROM user WHERE id = #{id}
</select>
<!--添加用户
对象中的属性可直接取出()无需调用方法-->
<insert id="addUser" parameterType="cn.iris.pojo.User">
INSERT INTO user(id, name, pwd) VALUES (#{id},#{name},#{pwd})
</insert>
<!--根据ID删除用户-->
<delete id="delUser" parameterType="int">
DELETE FROM user WHERE id=#{id}
</delete>
<!--根据ID更新用户信息-->
<update id="updateUser" parameterType="cn.iris.pojo.User">
UPDATE user SET name=#{name},pwd=#{pwd} WHERE id=#{id}
</update>
- 测试
@Test
public void getUserByIdTest() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = mapper.getUserById(1);
System.out.println(user);
sqlSession.close();
}
@Test
public void addUserTest(){略}
@Test
public void updateUserTest(){略}
@Test
public void deleteUserTest(){略}
所有增删改操作均需要提交事务(sqlsession.commit)!!!
排错指南
- namespace 包名用'.'
<!--绑定对应的Dao/Mapper接口-->
<mapper namespace="cn.iris.dao.UserMapper">
- Mybatis配置文件
<mappers>
<mapper resource="cn/iris/dao/userMapper.xml"/>
</mappers>
模糊查询
- Java代码执行时带上通配符(xml中#{}识别为变量,防止sql注入)
List<User> userList = mapper.getUserListLike("%艾%");
- sql拼接中加入通配符
SELECT * FROM user WHERE name like "%"+#{value}+"%";
最新文章
- 最新官方WIN10系统32位,64位系统ghost版下载
- IIS7.0发布Web服务器0002
- 关于三层架构与MVC的一些理解
- scala 的内部类
- IOS VFL屏幕自适应
- Redis自定义动态字符串(sds)模块(二)
- hdu----(1402)A * B Problem Plus(FFT模板)
- java常量池
- CSS发抖
- linux--centos服务器配置
- 第五节,TensorFlow编程基础案例-session使用(上)
- PAT 1037 在霍格沃茨找零钱(20)(代码+思路)
- [转载]Docker 完全指南
- PAT甲1077 Kuchiguse【字符串】【暴力】【Hash】【二分】
- LightOj 1118 - Incredible Molecules(两圆的交集面积)
- Goroutines vs Threads
- 安装/卸载 修改Config
- Android开发之线性布局详解(布局权重)
- 【Python + Mysql】之用pymysql库连接Mysql数据库并进行增删改查操作
- 「一入 Java 深似海 」系列课程