mybatis 入坑 简单增删改查

在上次设置的基础上,我们可以使用普通的增删改查

select

创建一个mybatisMapper的配置文件

创建的时候,我们要注意,mapper标签中,要指定我们要操作类的全类名


查(select)

select 常用的属性有

id  :  指定我们操作的类中的接口方法  这里我操作是student类(必须和方法名一致)

resultType  :  返回值包装的类型,必须这上,不然mybatis不知道查询后返回的类型

resultMap  :  自定义映射 , 在后面我们会写到

databaseId  :  选择指定的数据库,(这个属性,其实我也没太用到,只用mysql)  这里我使用的oracle



差不多就这样了!

现在我们可以想,在返回时候,我们一般返回的有 List,Map,和单个的POJO

resultType,应该怎么去写呢?

返回的是List的时候

resultType  直接   等于  我们的  List中的参数的类型

例如  :  List<Student1> list = xxxxx.selectxxxxx();


resultType  返回  map的时候   Mybatis  自动封装了  java.util.Map类

我们这样写就可以了  

这里是返回单个Map的值   多个Map呢?


这里返回是 多个Map   

也就是这个样子  --->  List<Map>


pass  :  我们查询的时候  如果有参数 

单个参数  :   mybatis  不会处理, 可以不用设置@Param("xxxxx")  这里涉及到Myabtis的源码,以后有时间写把

map参数 使用 #{key} 直接获取值

List参数  :  使用  #{List[N]}  获取值

xml配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.prosay.mapper.StudentMapper">

<!--
 namespace:空间命名 
 id: 唯一标识
 parameterType: 返回值类型
 #{id} 从传过来的参数中取出我们的id的值
 -->
<!-- 当数据库和名字不一样的时候使用 -->
<!-- public Employee getEmployeeById(Integer id); 
	id一样绑定方法
-->

  <!-- employee  别名 建议使用包名 -->
  <select id="getStudentById" resultType="student1" databaseId="oracle">
  <!-- 指定数据库 databaseId="mysql" -->
    select * from student1 where s_id = #{sId}
  </select>
  
  <!-- 如果参数是一个map,直接可以用#{key} 取值 -->
  <select id="getStudentByIdSetParamMap" resultType="student1">
  	select * from student1 where s_id = #{sId}
  </select>
  
  <!-- 如果返回的是一个集合 要写集合中参数的类型 List<Student1> -->
  <select id="selectStudentResultList" resultType="student1">
  	select * from student1
  </select>
  
  <!-- 单个map -->
  <!-- 返回值类型是resultType  -->
  <select id="getStudentByIdResultMap" resultType="map">
  	select * from student1 where s_id = #{sId}
  </select>
  
  <!-- 多条 -->
  <!-- 封装多条记录,resultType实体类的类型 -->
  <select id="selectStudentListMap" resultType="student1">
  	select * from student1
  </select>
</mapper>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值