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

Mybatis (4) : CRUD yes !!!

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

Mybatis (4) : CRUD yes !!!

回顾

在之前的文章中对Mybatis的使用有了大致的了解, 又进一步学习了数据源的相关配置、事务管理器等内容, 但是在业务中,我们写的最多的就是 CRUD, 各种各样的 CRUD, 在这片文章中将对其进行学习 !

注:在使用 mybatis 框架的时候需要保证每个类都有一个不含参数的构造函数, 以下例子每个类都有


  1. 对 User 对象的 Crud …
@Data
class User{
	private String uid;
	private String uname; 
	private String upassword;
}
user table

id  Varchar();     primary Key
name Varchar();
password Varchar():
insert

向数据库中插入一条用户记录:


	insert into user(id, name, password)
	
	values(#{uid}, #{uname}, #{upassword})

user = new User();
sqlSession.insert("path.to.insertUser", user)

插入多条数据: 主要使用 Mybatis 提供的 , 同时需要数据库支持多行插入:


	insert into user(id, name, password) values
	
 		(#{item.uid}, #{item.uname}, #{item.upassword})
	

List  userList= new ArrayList();

userList.add(user1);
userList.add(user2);
userList.add(user3);
...
userList.add(user4);

Integet rs = sqlSession.insert("path.to.insertUserList", userList);
delete

删除一条 user


  delete from user where id = #{id}

user = new User("...");
// 也可以仅仅传入一个 id 的值
sqlSession.delete("path.to.deleteUser", user);

删除多条 user:


	delete from user where id in

	#{item}

sqlSession.delete("path.to.deleteUserByIds", userList);
update
user = new User("...");

	update user set
	id = #{id},
	sex =#{sex},
	adress = #{adress}
	where id = #{id}


sqlSession.update("path.to.updateUser", idList)

select

select 语句和 update、delete、 insert 语句的不同之处在于,select 语序必须对数据库返回的查询数据进行处理:

从数据库中查询一条指定 id 的user 信息:


	select * from user;


//主要是使用 selectList 这个函数;
List userList = session.selectList("org.mybatis.example.userMapper.selectUserAll");
Iterator iterator = userList.iterator();
while(iterator.hasNext()){
     User user = (User) iterator.next();
     System.out.println(user.toString());
}


查询组合类的数据(主要使用到 mybatis 提供的 resultMap ):

Create table user(
	`id` varchar(30),
	`sex` varchar(30),
	`adress` varchar(30)
);

Create table order(
  `id` varchar(30),
  `count` int,
  `customer` varchar(30),
   primary key (`id`)
);

class Order{
	private String id;
	private Integer count;
	private  User customer;
	
}
class User{
	private String id;
	private String sex;
	private  String adress;
}

问题: 怎么通过一条 sql 语句查找出来一 条订单信息(有一个的数据类型) ?


	<--负责告诉框架怎么将结果装到类里面-->
    
        
        
        
    
	
    
        
        
        
    

    
    

        SELECT
          ug.id as ugid,
          ug.desciptor as ugdescriptor,

          u.id as uid,
          u.sex as usex,
          u.adress as uadress

        from user_group ug left JOIN user u  on ug.id = u.group_id
        where
        ug.id = #{id}

    



 UserGroup userGroup = (UserGroup)session.selectOne("org.mybatis.example.userGroupMapper.selectUserGroupById", "1");

总结:

  1. mybatis 的 标签中, 最后写 告诉 框架怎么将数据解析到类中。

至此, mybatis 框架的学习先告一段落。

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

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

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