mybaties

java高级工程师面试问题集结号(four)

本小妞迷上赌 提交于 2020-01-07 20:35:16
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1:mybaties如何实现数据库表名和实体名不一致的情况 通过在查询的sql语句中定义字段名的别名,让字段名的别名和实体类的属性名一致,这样就可以表的字段名和实体类的属性名一一对应上了,这种方式是通过在sql语句中定义别名来解决字段名和属性名的映射关系的。 <select id="selectOrder" parameterType="int" resultType="me.gacl.domain.Order"> select order_id id, order_no orderNo,order_price price from orders where order_id=#{id} </select> - 通过<resultMap>来映射字段名和实体类属性名的一一对应关系。这种方式是使用MyBatis提供的解决方式来解决字段名和属性名的映射关系的。 <!-- 根据id查询得到一个order对象,使用这个查询是可以正常查询到我们想要的结果的, 这是因为我们通过<resultMap>映射实体类属性名和表的字段名一一对应关系 --> <select id="selectOrderResultMap" parameterType="int" resultMap="orderResultMap"> select *

mybaties(一)增删改查

白昼怎懂夜的黑 提交于 2020-01-07 20:30:55
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 第一步:新建一个工程,导入这两个jar 第二步:在mysql下面新建数据库和表,由于是用来做学习,字段可以简单点 这是项目结构 第三步:新建实体类User package com.ll.model; public class User { private int id; private String name; private int age; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "User [id=" + id + ", name=" + name + ", age=" + age + "]"; } } 第四步:新建mapper文件userMapper

IDEA上的mybatis绑定错误

旧巷老猫 提交于 2019-12-03 00:05:28
最近把项目迁移到IDEA上使用,发现Eclpise上的编译调试完全没问题,但是放到IDEA上就各种错误。所以怀疑是IDEA编译的方式有问题。 最新是跑起来的时候发现, 发现虽然配置了shiro,但是无论怎么输入都是到shiro自己的异常里面去了。 所以Debug了一下,发现错误在这里 也就是最常见的绑定异常,检查了好久也没发现问题。 最后发现编译好的class下 根本就没有mapper的xml文件。。。。 查阅发现 http://www.linuxidc.com/Linux/2015-06/118877.htm IDEA的maven项目中,默认源代码目录下的xml等资源文件并不会在编译的时候一块打包进classes文件夹,而是直接舍弃掉。 如果使用的是Eclipse,Eclipse的src目录下的xml等资源文件在编译的时候会自动打包进输出到classes文件夹。Hibernate和Spring有时会将配置文件放置在src目录下,编译后要一块打包进classes文件夹,所以存在着需要将xml等资源文件放置在源代码目录下的需求。 解决IDEA的这个问题有两种方式。 第一种是建立src/main/resources文件夹,将xml等资源文件放置到这个目录中。maven工具默认在编译的时候,会将resources文件夹中的资源文件一块打包进classes目录中。