當前位置:首頁 » 編程語言 » sql中的映射文件
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql中的映射文件

發布時間: 2022-09-28 20:35:08

㈠ 映射文件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映射文件的問題

使用轉義符 < &lt ; &gt

㈦ hibernate 原生sql一對多查詢需要映射文件嗎

不需要啊,用hibernateTemplate就可以了。

㈧ SQL Server 2000 使用操作系統文件映射資料庫,這些文件都有哪些

10、SQL Server 2000 使用操作系統文件映射資料庫,這些文件都有哪些? 1、主要數據文件:主要用於存儲數據,也包含資料庫的啟動信息。 (2 分) 2、次要數據文件:這些文件含有不能置於主要資料庫文件中的所有數據。 (2 分) 3、事務日誌:這些文件包含恢復資料庫的日誌信息。 (1 分)