MyBatis-03(CRUD)
在MyBatis-02(第一個程式)文章的基礎上,進行以下操作:
- UserDao改為UserMapper
- UserMapper.xml中修改為:mapper namespace=“com.codeyancy.dao.UserMapper”
專案結構如圖:
查詢(select)
根據id查詢使用者
1.在UserMapper中新增對應的方法
//根據ID查詢使用者
User getUserId(int id);
2.在UserMapper.xml中新增Select語句
<select id="getUserId" parameterType="int" resultType="com.codeyancy.pojo.User">
select * from mybatis.user where id = #{id}
</select>
3.測試類中測試(UserDaoTest)
@Test
public void getUserID() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = mapper.getUserId(1);
System.out.println(user);
sqlSession.close();
}
注意事項:增刪改必須提交事務
提交事務:sqlSession.commit();
增加(insert)
給資料庫增加一個使用者
- 在UserMapper介面中新增對應的方法
//insert一個使用者
int addUser(User user);
- 在UserMapper.xml中新增insert語句
<insert id="addUser" parameterType="com.codeyancy.pojo.User">
insert into mybatis.user (id,name,pwd) values (#{id},#{name},#{pwd})
</insert>
- 測試類中測試(UserDaoTest)
//增刪改必須要提交事務
@Test
public void addUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int res = mapper.addUser(new User(4, "哈哈兒", "000000"));
if(res > 0){
System.out.println("插入成功!");
}
//提交事務
sqlSession.commit();
sqlSession.close();
}
修改(update)
修改使用者資訊
- 在UserMapper介面中新增對應的方法
//修改使用者
int updateUser(User user);
- 在UserMapper.xml中新增insert語句
<update id="updateUser" parameterType="com.codeyancy.pojo.User">
update mybatis.user set name=#{name},pwd=#{pwd} where id = #{id}
</update>
- 測試類中測試(UserDaoTest)
@Test
public void updateUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.updateUser(new User(4,"小小","123123"));
sqlSession.commit();
sqlSession.close();
}
刪除(delete)
根據id刪除一個使用者
- 在UserMapper介面中新增對應的方法
//刪除一個使用者
int deleteUser(int id);
- 在UserMapper.xml中新增insert語句
<delete id="deleteUser" parameterType="com.codeyancy.pojo.User">
delete from mybatis.user where id = #{id}
</delete>
- 測試類中測試(UserDaoTest)
@Test
public void deleteUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.deleteUser(4);
sqlSession.commit();
sqlSession.close();
}
Map
通常情況下,在實體類(資料庫的表)中,欄位(引數)過多,應當考慮使用Map
1.UserMapper
//萬能得Map
int addUser2(Map<String,Object> map);
2.UserMapper.xml
<insert id="addUser2" parameterType="map">
insert into mybatis.user (id,name) values (#{userid},#{username})
</insert>
3.測試
@Test
public void addUser2(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("userid",5);
map.put("username","小小");
mapper.addUser2(map);
//提交事務
sqlSession.commit();
sqlSession.close();
}
map測試後資料庫的結果:
相關文章
- 你可以 CRUD,但你不是 CRUD 程式設計師!程式設計師
- go操作mongo CRUDGo
- Mybatis-02 CRUDMyBatis
- mysql CRUD筆記MySql筆記
- Elasticsearch CRUD基本操作Elasticsearch
- MongoDB 新手入門 - CRUDMongoDB
- 方便好用CRUD封裝封裝
- 2. MyBatis-CRUDMyBatis
- MyBatis 的簡單 CRUD 操作MyBatis
- ZooKeeper客戶端CRUD命令客戶端
- Mybatis:CRUD操作及配置解析MyBatis
- 使用PreparedStatement實現CRUD操作
- Spring Boot+MiniUI CRUD操作Spring BootUI
- 3. 使用Mybatis完成CRUDMyBatis
- SpringBoot實現mongoDB的CRUDSpring BootMongoDB
- Go + MySQL的CRUD案例教程GoMySql
- Hibernate中常用CRUD程式碼
- EF Core 三 、 EF Core CRUD
- Elasticsearch——叢集管理及文件CRUDElasticsearch
- JPA工程的建立和CRUD操作
- Vue+Element UI實現CRUDVueUI
- Vue+Ant Design實現CRUDVue
- MongoDB 4.X CRUD基本操作MongoDB
- ElasticSearch核心概念和文件的CRUDElasticsearch
- MybatisPlus入門(三)MybatisPlus CRUD操作MyBatis
- Spring Boot Crud操作示例 | Java Code GeeksSpring BootJava
- 第六章 帖子的 CRUD
- ES6封裝MongoDB的CRUD封裝MongoDB
- MybatisPlus 中的API 使用總結(CRUD)MyBatisAPI
- JPA之使用JPQL進行CRUD操作
- Python中CRUD增刪改查教程Python
- SSM整合之CRUD環境搭建整合SSM
- 使用go在mongodb中進行CRUD操作MongoDB
- Laravel-Gii Visual code generation tool CRUD + GUILaravelGUI
- Cruddiy:無程式碼Bootstrap CRUD生成器boot
- 帶你學Node系列之express-CRUDExpress
- 使用Node+React實現簡單CRUDReact
- 終極CRUD-3-用Jackson解析jsonJSON