使用mybatis,在添加数据的时候返回主键,当查询count和属性字段怎么接收返回数据
2016-12-11 22:32
861 查看
1.使用mybatis添加数据,返回主键
说明:这里主要注意的是Mapper文件,在原来的select中,一般是有返回值,但是返回主键是没有的①Mapper文件
void save(User user)
② Mapper.xml文件
<insert id="saveOrder" keyColumn="order_id" keyProperty="id" useGeneratedKeys="true"> insert into orders(order_number) values (#{orderNumber}); </insert>
③调用Mapper的测试方法
@Test public void testSql(){ Order o = new Order(); o.setOrderNumber("摩托车"); orderMapper.saveOrder(o); int id = o.getId(); System.out.println(id); }
注:
虽然没有返回值,但是当作为参数的传入对象对象中已经有了id的属性,所以可以直接o.getId()来获取添加对象的id2.当查询count和属性字段,返回值接受问题
获取每一个消费者的订单数,并且按照升序排列
Mapper.xml
<select id="getModels" resultMap="map"> select customer_id ,count(1) as 'count' from orders group by customer_id order by count DESC </select> <resultMap type="com.atguigu.mybatis.beans.Model" id="map"> <id column="customer_id" property="orderNumber" /> <result column="count" property="counts"/> </resultMap>
Model是从新定义一个类来接受select上的两个数据。如果是左外连接要通过customer_id 获取customer对象,那么可以做在model类中加入customer的属性和count属性。
Model类
public class Model { private String orderNumber; private int counts; public String getOrderNumber() { return orderNumber; 4000 } public void setOrderNumber(String orderNumber) { this.orderNumber = orderNumber; } public int getCounts() { return counts; } public void setCounts(int counts) { this.counts = counts; } }
Mapper.java文件
List<Model> getModels();
相关文章推荐
- mybatis 添加一条新数据并返回此数据的ID(主键)
- 如何使用数据查询的Parameters中的output属性取的返回值
- 使用Mybatis时,在插入一条数据记录返回主键id值
- 使用MyBatis查询int类型字段,返回NULL值时报异常的解决方法
- springMVC+mybatis查询数据,返回resultType=”map”时,如果数据为空的字段,则该字段省略不显示的解决方案
- 地磅称量系统之(37~39) 直接向数据库的数据表WtBill添加测试数据以及绑定用户控件和使用编码的方式控制dataGridView控件的每列属性和添加数据数据库的表中不存在的字段(非绑定列)
- mybatis 配置添加数据返回主键
- mybatis使用char类型字段查询oracle数据库时结果返回null
- 在Action中查询出SQL SERVER表的数据,返回一个list。怎么在JSP页面中使用Struts标签,显示出表中的内容?(转)
- 使用mybatis注解@Options实现添加记录时返回主键值
- mybatis使用group by返回sum,count数据
- 如何使用myBatis在数据库中插入数据并返回主键
- Mybatis_插入数据后返回主键ID_返回数据字段与类中字段相对应
- Mybatis查询返回多个sum、count数据解决方案
- mybatis怎么接收返回的"select count(1)"sql数目
- mybatis 使用oracle char 字段查询返回结果总是null
- MyBatis解决字段名和实体类属性名不相同冲突问题时返回查询结果为空
- MyBatis使用@MapKey注解接收多个查询记录到Map中,以便方便地用get()方法获取字段的值
- 使用mybatis的insert语句插入数据的时候,获取插入数据的主键id
- Thinkphp框架下对某个字段查询数据的时候进行唯一过滤,返回唯一不同的值