㈠ 映射文件namespace不可以自定义
咨询记录 · 回答于2021-12-29
㈡ mybatis的sql映射文件可以放在什么包里
mapper包里,和对应的mapper接口放一起
㈢ 如何编写Java的MyBatis框架中SQL语句映射部分
1..增删改查、参数、缓存
1.1 select 举例如下:
查询学员信息,一个String参数,参数标识为#{studentID},并返回一个StudentEntity类型的对象
<select id="getStudent" parameterType="String" resultMap="studentResultMap">
SELECT ST.STUDENT_ID,
ST.STUDENT_NAME,
ST.STUDENT_SEX,
ST.STUDENT_BIRTHDAY,
ST.CLASS_ID
FROM STUDENT_TBL ST
WHERE ST.STUDENT_ID = #{studentID}
</select>
1.2 insert 举例如下:
插入数据,一个String参数,参数标识为#{studentID},并返回一个StudentEntity类型的对象。
<insert id="insertStudent" parameterType="StudentEntity">
INSERT INTO STUDENT_TBL (STUDENT_ID,
STUDENT_NAME,
STUDENT_SEX,
STUDENT_BIRTHDAY,
CLASS_ID)
VALUES (#{studentID},
#{studentName},
#{studentSex},
#{studentBirthday},
#{classEntity.classID})
</insert>
1.3 update 举例如下:
更新学员信息
<update id="updateStudent" parameterType="StudentEntity">
UPDATE STUDENT_TBL
SET STUDENT_TBL.STUDENT_NAME = #{studentName},
STUDENT_TBL.STUDENT_SEX = #{studentSex},
STUDENT_TBL.STUDENT_BIRTHDAY = #{studentBirthday},
STUDENT_TBL.CLASS_ID = #{classEntity.classID}
WHERE STUDENT_TBL.STUDENT_ID = #{studentID};
</update>
1.4 delete 举例如下:
删除学员信息:
<delete id="deleteStudent" parameterType="StudentEntity">
DELETE FROM STUDENT_TBL WHERE STUDENT_ID = #{studentID}
</delete>
2.ResultMap
SQL映射xml文件是为了放置所有sql语句,需要定义一个workspace,正常是接口类的路径。SQL语句映射文件写好后,需要在MyBatis配置文件mappers标签中引用。
举例如下:
<mappers>
<mapper resource="cn/te/ninixie/manager/data/mappers/UserMapper.xml" />
<mapper resource="cn/te/ninixie/manager/data/mappers/StudentMapper.xml" />
<mapper resource="cn/te/ninixie/manager/data/mappers/ClassMapper.xml" />
<mapper resource="cn/te/ninixie/manager/data/mappers/TeacherMapper.xml" />
</mappers>
当Java接口与xml文件在一个相对路径下,那么MyBaits配置文件的napper中可以不用声明。
ResultMaps的作用,就是简单的语句而不需要多余的结果映射,更多复杂的语句,除了只要一些绝对必须的语句描述关系以外,就不需要其它的了。
resultMap属性:type为java实体类;id为此resultMap的标识。
resultMap可以设置的映射:
2.1 constructor:用来将结果发射给一个实例化好的类的构造器
idArg_ID 参数:将结果集标记为ID,为了方便全局调用
arg –反射到构造器的通常结果
2.2 id结果,将结果集标记为ID,为了方便全局调用
2.3 result:反射到JavaBean的普通结果
2.4 association:复杂类型的结合,多个结果合成的类型
2.5 collection:复杂类型结合
2.6 resultMap的集合,也可以引用到其他
2.7 discriminator:使用一个结果值为了决定使用哪个结果集。
㈣ 如何将SQL数据映射到KV数据库
是通过映射文件来映射的。举个简单的例子,例如我有个Teacher实体类(某教学管理系统老师用户):
private Integer id; //编号
private String name; //姓名
private String password; //密码
private Date createDate; //创建日期
同时,我创建了数据表TEACHER:
create table teacher( id number(9) primary key, --编号 name varchar2(20), --姓名 password varchar2(20), --密码 create_date date --创建日期 );
这时,怎么关联它们呢?通过加载hibernate框架,我们就可以使用映射文件来关联实体类和数据库了
文件名:Teacher.hbm.xml(必须与实体类名字一致)
内容:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" " http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Mapping file autogenerated by MyEclipse Persistence Tools-->
<hibernate-mapping>
<class name="com.yss.Teacher" table="TEACHER" schema="WZM">
<id name="id" type="java.lang.Integer">
<column name="ID" precision="9" />
</id>
<property name="name" type="java.lang.String">
<column name="NAME" length="20" />
</property>
<property name="password" type="java.lang.String">
<column name="PASSWORD" length="20" />
</property>
<property name="createDate" type="java.util.Date">
<column name="CREATE_DATE" length="7" />
</property>
</class>
</hibernate-mapping>
当然,这只是比较简单的映射,还有什么多对多,一对多等映射,并且映射时如何设置以达到需要的效果,这些你可以在网上搜索相关资料自行查看。
㈤ mybatis sql映射文件和hibernate映射文件有什么不同
1.1 Hibernate 简介
Hibernate对数据库结构提供了较为完整的封装,Hibernate的O/R Mapping实现了POJO 和数据库表之间的映射,以及SQL 的自动生成和执行。程序员往往只需定义好了POJO 到数据库表的映射关系,即可通过Hibernate 提供的方法完成持久层操作。程序员甚至不需要对SQL 的熟练掌握, Hibernate/OJB 会根据制定的存储逻辑,自动生成对应的SQL 并调用JDBC接口加以执行。
1.2 MyBatis简介
iBATIS 的着力点,则在于POJO 与SQL之间的映射关系。然后通过映射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定POJO。相对Hibernate“O/R”而言,iBATIS 是一种“Sql Mapping”的ORM实现。
第二章开发对比
开发速度
Hibernate的真正掌握要比Mybatis来得难些。Mybatis框架相对简单很容易上手,但也相对简陋些。个人觉得要用好Mybatis还是首先要先理解好Hibernate。
开发社区
Hibernate 与Mybatis都是流行的持久层开发框架,但Hibernate开发社区相对多热闹些,支持的工具也多,更新也快,当前最高版本4.1.8。而Mybatis相对平静,工具较少,当前最高版本3.2。
开发工作量
Hibernate和MyBatis都有相应的代码生成工具。可以生成简单基本的DAO层方法。
针对高级查询,Mybatis需要手动编写SQL语句,以及ResultMap。而Hibernate有良好的映射机制,开发者无需关心SQL的生成与结果映射,可以更专注于业务流程。
㈥ 关于Mybatis SQL映射文件的问题
使用转义符 < < ; >
㈦ hibernate 原生sql一对多查询需要映射文件吗
不需要啊,用hibernateTemplate就可以了。
㈧ SQL Server 2000 使用操作系统文件映射数据库,这些文件都有哪些
10、SQL Server 2000 使用操作系统文件映射数据库,这些文件都有哪些? 1、主要数据文件:主要用于存储数据,也包含数据库的启动信息。 (2 分) 2、次要数据文件:这些文件含有不能置于主要数据库文件中的所有数据。 (2 分) 3、事务日志:这些文件包含恢复数据库的日志信息。 (1 分)