在Spring框架與MyBatis的整合中,SM編程(Spring + MyBatis)是一種常見的DAO層開發方式。
下面是一個簡單的示例:
首先,確保已經正確配置了Spring框架和MyBatis。
1. 創建DAO接口:在DAO層定義一個接口,用于聲明數據訪問操作的方法。例如,創建一個UserDao接口:
publicinterfaceUserDao{UsergetUserById(intid);
List<User>getAllUsers();
voidaddUser(Useruser);
voidupdateUser(Useruser);
voiddeleteUser(intid);
}
2. 創建DAO接口的實現類:實現上述接口,并使用MyBatis來執行相應的SQL語句。例如,創建一個UserDaoImpl類:
@RepositorypublicclassUserDaoImplimplementsUserDao{
@Autowired
privateSqlSessionFactorysqlSessionFactory;
@Override
publicUsergetUserById(intid){
try(SqlSessionsession=sqlSessionFactory.openSession()){
returnsession.selectOne("getUserById",id);
}
}
@Override
publicList<User>getAllUsers(){
try(SqlSessionsession=sqlSessionFactory.openSession()){
returnsession.selectList("getAllUsers");
}
}
@Override
publicvoidaddUser(Useruser){
try(SqlSessionsession=sqlSessionFactory.openSession()){
session.insert("addUser",user);
session.commit();
}
}
@Override
publicvoidupdateUser(Useruser){
try(SqlSessionsession=sqlSessionFactory.openSession()){
session.update("updateUser",user);
session.commit();
}
}
@Override
publicvoiddeleteUser(intid){
try(SqlSessionsession=sqlSessionFactory.openSession()){
session.delete("deleteUser",id);
session.commit();
}
}
}
3. 配置MyBatis的Mapper文件:在resources目錄下創建一個與DAO接口相對應的Mapper XML文件(例如UserMapper.xml),并定義SQL語句。示例:
<mappernamespace="com.example.dao.UserDao"><selectid="getUserById"resultType="com.example.entity.User">
select*FROMusersWHEREid=#{id}
</select>
<selectid="getAllUsers"resultType="com.example.entity.User">
select*FROMusers
</select>
<insertid="addUser"parameterType="com.example.entity.User">
INSERTINTOusers(name,email)VALUES(#{name},#{email})
</insert>
<updateid="updateUser"parameterType="com.example.entity.User">
UPDATEusersSETname=#{name},email=#{email}WHEREid=#{id}
</update>
<deleteid="deleteUser"parameterType="int">
DELETEFROMusersWHEREid=#{id}
</delete>
</mapper>
4. 配置Spring的Bean:在Spring配置文件中,將`UserDaoImpl注入為一個Bean,并配置MyBatis的相關設置。示例:
<beanid="userDao"class="com.example.dao.UserDaoImpl"><propertyname="sqlSessionFactory"ref="sqlSessionFactory"/>
</bean>
<beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean">
<propertyname="dataSource"ref="dataSource"/>
<propertyname="mapperLocations"value="classpath*:com/example/mappers/*.xml"/>
</bean>
<beanid="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<!--設置數據庫相關配置-->
</bean>
通過以上步驟,你就可以在應用中使用UserDao接口的實現類進行數據庫訪問操作了,同時Spring和MyBatis會進行整合并提供事務管理等功能。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
在實際的經濟生活中,中央銀行的三大法寶一般認為是存款準備金政策、公開市場業務政策以及再貼現政策。利用以上這三三大法寶,中央銀行需要對市場金融秩序進行宏觀調控,實現對市場內信用總量進行統一的收縮或者擴張操作。央銀三大法寶的詳情介紹1、存款準備金政策:中央銀行通過對存款準備金率進行調控,從而影響金融機構的實際影響能力,間接的來調控市場內貨幣的供應總量;2、公開市場業務政策:公開市場業務政策即意味著中央...
(資料圖片)據九派新聞,一項調研發現,英國有數千人不敢去上班,因為他們無力購買基本的衛生用品,會為自己的邋遢形象感到焦慮和羞恥。據英媒《天空新聞》稱,英國民調公司YouGov聯合衛生慈善組織衛生銀行(The Hygiene Bank)開展了這項研究,并在最近公布了報告。報告顯示,在2022年,英國有大約315萬人處于“衛生貧困”(hygiene poverty)狀態,許多人...
作為一種在國外資本市場上運用成熟的估值調整方法,“對賭協議”在我國仍然屬于一種新興事物。對賭協議是什么意思?對賭協議是期權的一種形式,即投資方和融資方達成融資并購協議后,對未來不確定事項進行一種事先約定,一旦將來真發生了約定的情形時,融資方可行使一種權利; 如果將來未發生約定的情形,那投資方可行使一種權利。對賭協議帶有一定的風險性, 很多企業為了盡快獲得融資,就不得不簽訂這...