Ⅰ mybatis中的sql語句完整配置文件怎麼寫
Mybatis 分多個配置文件方法,考慮一個項目會很多模塊,如果團體開發的話用不同模塊在不同的配置文件可以這樣實現: 標簽裡面只能放SQL映射文件 Mybatis配置文件 XML code Spring裡面的配置文件XML code。 當你程序需要執行的時候
Ⅱ 在hibernate核心配置文件中<session-factory>下需要配置哪些<property>屬性
net.sf.hibernate.cfg.Configuration的一個實例代表了應用程序中所有的Java類到SQL資料庫的映射的集合。Configuration用於構造一個(不可變的)SessionFactory。這些映射是從一些XML映射文件中編譯得來的。
你可以得到一個Configuration的實例,直接實例化它即可。下面有一個例子,用來從兩個XML配置文件(位於classpath)中的映射中初始化:
Configuration cfg = new Configuration()
.addFile("Item.hbm.xml")
.addFile("Bid.hbm.xml");
另外一個(某些時候更好的)方法是讓Hibernate自行用getResourceAsStream()來裝載映射文件。
Configuration cfg = new Configuration()
.addClass(org.hibernate.auction.Item.class)
.addClass(org.hibernate.auction.Bid.class);
Hibernate 就會在classpath中尋找叫做/org/hibernate/autcion/Item.hbm.xml、/org/hibernate/autcion/Bid.hbm.xml的映射文件。這種方法取消了所有對文件名的硬編碼。
Configuration也可以指定一些可選的配置項:
Properties props = new Properties();
...
Configuration cfg = new Configuration()
.addClass(org.hibernate.auction.Item.class)
.addClass(org.hibernate.auction.Bid.class)
.setProperties(props);
Configuration是僅在配置期使用的對象,從第一個SessionFactory開始建立的時候,它就失效了。
2. 獲取SessionFactory
當所有的映射都被Configuration解析之後,應用程序為了得到Session實例,必須先得到它的工廠。這個工廠應該是被應用程序的所有線程共享的:
SessionFactory sessions = cfg.buildSessionFactory();
當然,Hibernate並不禁止你的程序實例化多個SessionFactory。在你使用不止一個資料庫的時候,這就有用了。
3. 用戶自行提供JDBC連接
SessionFactory可以使用一個用戶自行提供的JDBC連接來打開一個Session。這種設計可以讓應用程序來自己管理JDBC連接:
java.sql.Connection conn = datasource.getConnection();
Session session = sessions.openSession(conn);
// do some data access work
應用程序必須小心,不能在同一個連接上打開兩個並行的session!
4. Hibernate提供的JDBC連接
另一種方法就是,你可以讓SessionFactory替你打開連接。SessionFactory必須事先知道JDBC連接的參數,有幾種不同的方法設置參數:
傳遞一個java.util.Properties到Configuration.setProperties()方法。
在classpath的根目錄中提供hibernate.properties文件。
通過java -Dproperty=value指定使用系統屬性。
在hibernate.cfg.xml文件中包含<property>元素。詳情見後。
如果你使用這種方法,打開一個Session是非常簡單的:
Session session = sessions.openSession(); // open a new Session
// do some data access work, a JDBC connection will be used on demand
所有的Hibernate屬性名和約束都在net.sf.hibernate.cfg.Environment類中定義。我們討論一下JDBC連接配置最重要的幾項設置:
假若你設置了如下的屬性,Hibernate會使用java.sql.DriverManager來得到連接,並建立連接池:
Ⅲ 如何編寫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:使用一個結果值為了決定使用哪個結果集。
Ⅳ c#如何通過配置文件進行鏈接sql server資料庫
1.在webconfig里配置
2.直接引用
sqlconnection
conn
=
new
sqlconnection(data
source=.\sqlexpress;integrated
security=sspi;attachdbfilename=|datadirectory|database.mdf;user
instance=true);
datadirectory默認是appdata文件夾,你把mdf文件放到裡面,改一下文件名(database.mdf)和連接字元串的一樣就行了
Ⅳ mybatis報錯:Error setting null for parameter #1 with JdbcType OTHER
1、sqlsessionfactoryBuilder(構造器)他會根據配置或者代碼來生成sqlsessionfactory,採用的是分布構建的builder模式。
Ⅵ 如何通過配置文件進行鏈接sql server資料庫
AppSettings(用在vs2003,05也可以用)<add key="connectionfstringname" value="data source=伺服器名或ip; initial catalog=資料庫名;user id=用戶;password=密碼"></add>//可以省略(user id=用戶;password=密碼)ConnectionStrings<connectionstrings> <add
name="connectionstringname" connectionstring="data source=伺服器名;initial
catalog=資料庫名;user id=用戶;password=密碼"
providername="system.data.sqlclient"/></connectiionstring>直接連接資料庫文件(1)在webconfig里配置
<connectionstrings><add name="connectionstringname"
connectionstring="data source=./sqlexpress; integrated
security=sspi;AttachDBFilename=|DataDirectory|database.mdf;
"providerName="system.data.sqlclient"</connectionsttrings>(2).直接引用SqlConnection
conn = new SqlConnection(Data Source=./SQLExpress;Integrated
Security=SSPI;AttachDBFilename=|DataDirectory|database.mdf;User
Instance=true);DataDirectory默認是AppData文件夾,你把mdf文件放到裡面,改一下文件名(database.mdf)和連接字元串的一樣就行了
WinForm連接字元串app.config(基於.net2.0)首先在項目的屬性文件夾下使用 Settings.settings 配置連接字元串,我這里配置了一個 Access資料庫
連接保存後VS2005自動生成 app.config文件(修改 Settings.settings配置此文件會自動更新),內容如下:
<?xml version="1.0" encoding="utf-8" ?><configuration> <configSections> </configSections> <connectionStrings>
<add name="frmSignIn.Properties.Settings.DBConnString"
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=F:/kaifa/frmSignIn/appData/dbqx.mdb;Persist
SecurityInfo=True;Jet OLEDB:Database Password=123" providerName="System.Data.OleDb" /> </connectionStrings></configuration>
Ⅶ mybatis sql映射mapper文件 merge語句如何配置
mybatis不是hibernate,沒有marge
其實marge不就是insert和update的結合嗎
Ⅷ 請問怎麼在Hibernate實體配置文件中寫sql啊嘿嘿,先謝謝啦!急需解決!
你好!
那是不可能的
HBM.XML是提供映射
可以配置一對多
多對一關系
HBM.XML是提供映射
可以配置一對多
多對一關系
hibernate不適合靈活的SQL,如果想達到你的需求的話,建議用ibatis
希望對你有所幫助,望採納。
Ⅸ Spring MVC 怎麼在配置文件里配置SQL語句
你網路下 裡面是不是由關於配置的問題 還有SQL語言的配置