《JavaWeb數(shù)據(jù)可視化開(kāi)發(fā)實(shí)戰(zhàn)》課件 第6章 Mybatis_第1頁(yè)
《JavaWeb數(shù)據(jù)可視化開(kāi)發(fā)實(shí)戰(zhàn)》課件 第6章 Mybatis_第2頁(yè)
《JavaWeb數(shù)據(jù)可視化開(kāi)發(fā)實(shí)戰(zhàn)》課件 第6章 Mybatis_第3頁(yè)
《JavaWeb數(shù)據(jù)可視化開(kāi)發(fā)實(shí)戰(zhàn)》課件 第6章 Mybatis_第4頁(yè)
《JavaWeb數(shù)據(jù)可視化開(kāi)發(fā)實(shí)戰(zhàn)》課件 第6章 Mybatis_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2025第6章MyBatis《JavaWeb數(shù)據(jù)可視化開(kāi)發(fā)教程》延時(shí)符延時(shí)符學(xué)習(xí)目標(biāo)理解MyBatis的基本概念和原理。掌握MyBatis的核心配置文件和映射文件的結(jié)構(gòu)。掌握MyBatis的注解方式和XML方式的配置和使用,了解二者的區(qū)別和優(yōu)劣勢(shì)。掌握MyBatis的動(dòng)態(tài)SQL語(yǔ)句編寫(xiě)和使用。熟練使用MyBatis進(jìn)行數(shù)據(jù)庫(kù)操作,包括增刪改查等基本操作。編寫(xiě)高質(zhì)量MyBatis映射文件,實(shí)現(xiàn)數(shù)據(jù)庫(kù)表與Java對(duì)象映射。使用MyBatis的注解方式或XML方式進(jìn)行配置,靈活切換不同的配置方式。0102目錄CONTENTSPART01快速上手及配置文件延時(shí)符PART02Mybatis常見(jiàn)APIPART03MyBatis映射PART04動(dòng)態(tài)SQL行業(yè)PPT模板/hangye/PART05MyBatis與Spring整合開(kāi)發(fā)1快速上手及配置文件延時(shí)符延時(shí)符01快速上手MyBatis是基于Java的持久層框架,旨在簡(jiǎn)化數(shù)據(jù)庫(kù)操作并提高代碼的可讀性和可維護(hù)性,核心功能是將Java對(duì)象與數(shù)據(jù)庫(kù)表中的記錄進(jìn)行映射,從而簡(jiǎn)化開(kāi)發(fā)者的工作;支持多種映射配置,如XML配置文件、注解等,以滿足不同開(kāi)發(fā)需求。為了幫助讀者快速的掌握MyBatis的使用,請(qǐng)通過(guò)教材入門(mén)程序來(lái)學(xué)習(xí)編程過(guò)程,具體步驟詳見(jiàn)教材視頻。

延時(shí)符02

配置文件MyBatis的配置文件包含了影響MyBatis行為的設(shè)置和屬性信息,

配置文檔的層次結(jié)構(gòu)如下延時(shí)符02

配置文件元素<properties>代表了屬性配置,既可以在外部的Java屬性文件進(jìn)行配置,也可以在標(biāo)簽內(nèi)部動(dòng)態(tài)替換。例如這個(gè)例子中的username和password屬性將由<properties>元素中設(shè)置的值來(lái)替換。而driver和url屬性將會(huì)由perties文件中對(duì)應(yīng)的值來(lái)替換。<propertiesresource="org/mybatis/example/perties"><propertyname="username"value="dev_user"/><propertyname="password"value="F2Fa3!33TYyg"/></properties><environments>元素定義了配置環(huán)境的方式,MyBatis可以通過(guò)配置來(lái)適應(yīng)多種環(huán)境,這種機(jī)制有助于將SQL映射應(yīng)用于多種數(shù)據(jù)庫(kù)之中。例如在開(kāi)發(fā)、測(cè)試和生產(chǎn)環(huán)境實(shí)現(xiàn)有不同的配置;或者在具有相同Schema的多個(gè)數(shù)據(jù)庫(kù)中使用相同的SQL映射。<environmentsdefault="development"><environmentid="development"><transactionManagertype="JDBC"><propertyname="..."value="..."/></transactionManager><dataSourcetype="POOLED"><propertyname="driver"value="${driver}"/><propertyname="url"value="${url}"/><propertyname="username"value="${username}"/><propertyname="password"value="${password}"/></dataSource></environment></environments>延時(shí)符02

配置文件映射器的作用是告訴MyBatis去哪里去找到SQL映射語(yǔ)句,有類(lèi)路徑的資源引用、完全限定資源定位符、完全限定類(lèi)名、包名4種形式,例如:<!--使用相對(duì)于類(lèi)路徑的資源引用--><mappers><mapperresource="org/mybatis/builder/AuthorMapper.xml"/><mapperresource="org/mybatis/builder/BlogMapper.xml"/><mapperresource="org/mybatis/builder/PostMapper.xml"/></mappers><!--使用完全限定資源定位符(URL)--><mappers><mapperurl="file:///var/mappers/AuthorMapper.xml"/><mapperurl="file:///var/mappers/BlogMapper.xml"/><mapperurl="file:///var/mappers/PostMapper.xml"/></mappers><!--使用映射器接口實(shí)現(xiàn)類(lèi)的完全限定類(lèi)名--><mappers><mapperclass="org.mybatis.builder.AuthorMapper"/><mapperclass="org.mybatis.builder.BlogMapper"/><mapperclass="org.mybatis.builder.PostMapper"/></mappers><!--將包內(nèi)的映射器接口實(shí)現(xiàn)全部注冊(cè)為映射器--><mappers><packagename="org.mybatis.builder"/></mappers>延時(shí)符02

配置文件類(lèi)型別名可為Java類(lèi)型設(shè)置一個(gè)縮寫(xiě)名字,它僅用于XML配置,意在降低冗余的全限定類(lèi)名書(shū)寫(xiě)。例如當(dāng)下面這樣配置了類(lèi)型別名Blog時(shí),則可以在任何有domain.blog.Blog的地方使用直接使用Blog。<typeAliases><typeAliasalias="Author"type="domain.blog.Author"/><typeAliasalias="Blog"type="domain.blog.Blog"/><typeAliasalias="Comment"type="domain.blog.Comment"/><typeAliasalias="Post"type="domain.blog.Post"/><typeAliasalias="Section"type="domain.blog.Section"/><typeAliasalias="Tag"type="domain.blog.Tag"/></typeAliases>2延時(shí)符Mybatis常見(jiàn)API延時(shí)符

SqlSessionFactory主要作用是創(chuàng)建SqlSession;而SqlSession是應(yīng)用程序與持久層之間執(zhí)行交互操作的一個(gè)單線程對(duì)象,其主要作用是執(zhí)行持久化操作。SqlSessionFactory是由SqlSessionFactoryBuilder創(chuàng)建的,可以從XML、注解或Java配置代碼來(lái)創(chuàng)建SqlSessionFactory。延時(shí)符01

創(chuàng)建實(shí)例SqlSessionFactoryBuilder有五個(gè)build方法,實(shí)現(xiàn)從不同的資源中創(chuàng)建一個(gè)SqlSessionFactory實(shí)例。SqlSessionFactorybuild(InputStreaminputStream)SqlSessionFactorybuild(InputStreaminputStream,Stringenvironment)SqlSessionFactorybuild(InputStreaminputStream,Propertiesproperties)SqlSessionFactorybuild(InputStreaminputStream,Stringenv,Propertiesprops)SqlSessionFactorybuild(Configurationconfig)延時(shí)符02SqlSessionSqlSession在MyBatis中是非常強(qiáng)大的一個(gè)類(lèi),包含所有執(zhí)行語(yǔ)句、提交或回滾事務(wù)以及獲取映射器實(shí)例的方法。SqlSession類(lèi)的方法超過(guò)20個(gè),為方便理解,將它們分成幾種組別并列出對(duì)應(yīng)常見(jiàn)方法。1)語(yǔ)句執(zhí)行方法語(yǔ)句執(zhí)行方法被用來(lái)執(zhí)行定義在SQL映射文件中的SELECT、INSERT、UPDATE和DELETE。常見(jiàn)方法如下所示,其中參數(shù)statement代表映射語(yǔ)句的ID,parameter代表執(zhí)行SQL語(yǔ)句的參數(shù)。<T>TselectOne(Stringstatement,Objectparameter):用于執(zhí)行一條查詢(xún)語(yǔ)句,并返回查詢(xún)結(jié)果中的第一個(gè)記錄,方法的返回類(lèi)型是泛型T,表示返回的對(duì)象類(lèi)型。

<E>List<E>selectList(Stringstatement,Objectparameter):用于執(zhí)行一條查詢(xún)語(yǔ)句,并返回查詢(xún)結(jié)果所有記錄組成的列表。方法的返回類(lèi)型是泛型List<E>,表示返回的是列表元素類(lèi)型。

<T>Cursor<T>selectCursor(Stringstatement,Objectparameter):用于執(zhí)行查詢(xún)語(yǔ)句,但是返回的是一個(gè)Cursor<T>對(duì)象,這個(gè)對(duì)象允許迭代讀取查詢(xún)結(jié)果集中的每一條記錄,但它不會(huì)一次性將所有記錄加載到內(nèi)存中,實(shí)現(xiàn)數(shù)據(jù)的惰性加載。l<K,V>Map<K,V>selectMap(Stringstatement,Objectparameter,StringmapKey):用于執(zhí)行查詢(xún)語(yǔ)句,并返回查詢(xún)結(jié)果中的所有記錄,但是以Map的形式返回,其中mapKey參數(shù)是指定將查詢(xún)結(jié)果的哪個(gè)字段作為Map的鍵。

intinsert(Stringstatement,Objectparameter):用于執(zhí)行一條插入語(yǔ)句,將parameter對(duì)象映射的數(shù)據(jù)插入到數(shù)據(jù)庫(kù)中,方法的返回值是當(dāng)次操作影響的行數(shù)。

intupdate(Stringstatement,Objectparameter):用于執(zhí)行一條更新語(yǔ)句,根據(jù)parameter對(duì)象映射的數(shù)據(jù)更新數(shù)據(jù)庫(kù)中的記錄,方法的返回值同樣是當(dāng)次操作影響的行數(shù)。

intdelete(Stringstatement,Objectparameter):用于執(zhí)行一條刪除語(yǔ)句,根據(jù)parameter對(duì)象映射的條件刪除數(shù)據(jù)庫(kù)中的記錄,方法的返回值是當(dāng)次操作影響的行數(shù)。延時(shí)符02SqlSession2)事務(wù)執(zhí)行方法如果沒(méi)有設(shè)置Mybatis自動(dòng)提交,也沒(méi)有使用外部事務(wù)管理器,則有以下四個(gè)方法用來(lái)控制事務(wù)。voidcommit():用于提交當(dāng)前會(huì)話中執(zhí)行的所有更改。lvoidcommit(booleanforce):與上面的commit()類(lèi)似,但它提供了一個(gè)可選的force參數(shù)。如果force設(shè)置為true,即使沒(méi)有任何更改,也會(huì)強(qiáng)制提交事務(wù)。voidrollback():用于撤銷(xiāo)當(dāng)前會(huì)話中執(zhí)行的所有更改,任何在調(diào)用該方法之前已經(jīng)提交到數(shù)據(jù)庫(kù)的更改都將被撤銷(xiāo)。voidrollback(booleanforce);與rollback()方法相似,如果force設(shè)置為true,則會(huì)話中將進(jìn)行強(qiáng)制回滾。3MyBatis映射延時(shí)符延時(shí)符00簡(jiǎn)介MyBatis映射是將Java接口的方法和SQL語(yǔ)句進(jìn)行關(guān)聯(lián),或者將Java對(duì)象映射成數(shù)據(jù)庫(kù)中的行記錄。使開(kāi)發(fā)者可以將更多的精力集中在業(yè)務(wù)邏輯上,而不是數(shù)據(jù)庫(kù)操作的細(xì)節(jié)上,極大地提高了開(kāi)發(fā)效率和項(xiàng)目的可維護(hù)性。延時(shí)符01XML文件映在XML映射文件中<select>元素負(fù)責(zé)查詢(xún),其查詢(xún)結(jié)果將被映射到Java對(duì)象。如下XML映射文件中返回一個(gè)或者多個(gè)Student類(lèi)型的對(duì)象,對(duì)象屬性值與查詢(xún)結(jié)果對(duì)應(yīng):<?xmlversion="1.0"encoding="UTF-8"?><selectid="selectOneStu"resultType="demo.Student"parameterType="Integer"> select*fromstudentwhereid=#{id}</select><selectid="selectAll"resultType="demo.Student">select*fromstudent</select>第一個(gè)<select>標(biāo)簽定義一個(gè)名為selectOneStu的查詢(xún)操作,它的作用是根據(jù)傳入的整數(shù)參數(shù)id查詢(xún)數(shù)據(jù)庫(kù)中student表中的一項(xiàng)記錄,并將其映射到demo.Student類(lèi)型的對(duì)象中。resultType屬性指定映射的Java類(lèi)型,parameterType屬性指定傳入?yún)?shù)的類(lèi)型;這里是一個(gè)整型,對(duì)應(yīng)SQL查詢(xún)語(yǔ)句select*fromstudentwhereid=#{id}中的id字段。第二個(gè)<select>標(biāo)簽定義一個(gè)名為selectAll的操作,它的作用是查詢(xún)student表中的所有記錄,并將每條記錄映射到demo.Student類(lèi)型的對(duì)象中。延時(shí)符01XML文件映MyBatisMapper文件中,可以使用<insert>,<update>和<delete>元素定義插入、更新和刪除三種數(shù)據(jù)庫(kù)操作。<insertid="insertStu"parameterType="demo.Student">insertintostudentvalues(null,#{age},#{name},#{sex})</insert><updateid="updateData"parameterType="demo.Student">updatestudentsetage=#{age},sex=#{sex},name=#{name}whereid=#{id}</update><deleteid="deleteOne"parameterType="String"> deletefromstudentwherename=#{name}</delete><deleteid="deleteAll">deletefromstudent</delete>延時(shí)符01XML文件映可以將所有的列映射到resultType屬性指定的對(duì)象上,需要列名與對(duì)象屬性名完全一致。當(dāng)其不匹配的時(shí)候可以顯式使用外部的<resultMap>元素方式,在引用它的語(yǔ)句中設(shè)置resultMap屬性就行,同時(shí)去掉resultType屬性。比如下面將表中的字段user_id,user_name,hashed_password映射到User的屬性id,username,password中:<resultMapid="userResultMap"type="User"><idproperty="id"column="user_id"/><resultproperty="username"column="user_name"/><resultproperty="password"column="hashed_password"/></resultMap><selectid="selectUsers"resultMap="userResultMap">selectuser_id,user_name,hashed_passwordfromsome_tablewhereid=#{id}</select>延時(shí)符01XML文件映在MyBatis中,<sql>元素用于定義可重用的SQL片段,而<include>元素用于在其他的SQL映射語(yǔ)句中包含這些片段。這樣可以提高SQL映射文件的可維護(hù)性,避免重復(fù)編寫(xiě)相同的SQL代碼。例如:<sqlid="userColumns">${alias}.id,${alias}.username,${alias}.password</sql><selectid="selectUsers"resultType="map">select<includerefid="userColumns"><propertyname="alias"value="t1"/></include>,<includerefid="userColumns"><propertyname="alias"value="t2"/></include>fromsome_tablet1crossjoinsome_tablet2</select>延時(shí)符02注解映射增、刪、改、查操,@Insert:插入操作,對(duì)應(yīng)方法返回值表示影響的行數(shù),@Update:更新操作,對(duì)應(yīng)方法返回值表示影響的行數(shù)。@Delete:刪除操作,對(duì)應(yīng)方法返回值表示影響的行數(shù)。@Select:用于查詢(xún)操作。@MapperpublicinterfaceBlogMapper{@Insert("INSERTINTOblog(title,content)VALUES(#{title},#{content})")intinsert(Blogblog);@Delete("DELETEFROMblogWHEREid=#{id}")intdelete(Integerid);@Update("UPDATEblogSETtitle=#{title},content=#{content},updateTime=CURRENT_TIMESTAMPWHEREid=#{id}")intupdate(Blogblog);@Select("SELECT*FROMblog")List<Blog>selectAll();@Select("SELECT*FROMblogWHEREid=#{id}")BlogselectById(Integerid);}@Mapper注解用于標(biāo)記接口為MyBatis的映射器接口。importorg.apache.ibatis.annotations.Mapper;@MapperpublicinterfaceUserMapper{}延時(shí)符02注解映射@Results:用于映射查詢(xún)結(jié)果集,可以將查詢(xún)結(jié)果映射到Java對(duì)象。@Results({@Result(property="id",column="user_id"),@Result(property="name",column="user_name"),@Result(property="email",column="user_email")})@Select("SELECTuser_id,user_name,user_emailFROMusers")List<User>getUsers();@Param:用于確保方法參數(shù)和映射文件中的SQL語(yǔ)句匹配,避免因參數(shù)名不一致而導(dǎo)致的錯(cuò)誤。當(dāng)方法有多個(gè)參數(shù)時(shí),使用@Param注解能夠提高代碼的可讀性。@Select("SELECT*FROMusersWHEREusername=#{username}ANDage=#{age}")UsergetUserByUsernameAndAge(@Param("username")Stringuname,@Param("age")intage);4動(dòng)態(tài)SQL延時(shí)符延時(shí)符00簡(jiǎn)介在實(shí)際項(xiàng)目中需要根據(jù)不同條件拼接SQL語(yǔ)句,確保添加必要的空格,還要注意去掉多余的逗號(hào)。利用動(dòng)態(tài)SQL可以徹底解決類(lèi)似這些問(wèn)題。延時(shí)符01<if>元素對(duì)應(yīng)Java代碼如下:使用動(dòng)態(tài)SQL最常見(jiàn)的情景是根據(jù)條件包含where子句的一部分。<selectid="findBlogWithTitleLike"resultType="demo.Blog">SELECT*FROMBLOGWHEREid>=#{id}<iftest="title!=null">ANDtitlelike#{title}</if></select>Blogtest=newBlog();test.setId(1);List<Blog>blogs=session.selectList("findBlogWithTitleLike",test);System.out.println(blogs.size());test.setTitle("java");blogs=session.selectList("findBlogWithTitleLike",test);System.out.println(blogs.size());延時(shí)符02<choose>、<when>和<otherwise>元素若不想使用所有的條件,而只是想從多個(gè)條件中選擇一個(gè)使用。針對(duì)這種情況,MyBatis提供<choose>、<when>和<otherwise>元素,它有點(diǎn)像Java中的switch語(yǔ)句。例如傳入“title”就按“title”查找,傳入“content”就按“content”查找的情形。若兩者都沒(méi)有傳入,就返回前10分鐘的BLOG:<selectid="findBlogLike"resultType="demo.Blog">SELECT*FROMBLOGWHEREid>=#{id}<choose><whentest="title!=null">ANDtitlelike#{title}</when><whentest="content!=null">ANDcontentlike#{content}</when><otherwise>ANDcreate_time<CURRENT_TIMESTAMP-600</otherwise></choose></select>延時(shí)符03<trim>、<where>和<set>元素<where>元素只會(huì)在子元素返回內(nèi)容的情況下才插入“WHERE”子句;若子句的開(kāi)頭為“AND”或“OR”,<where>元素也會(huì)將它們?nèi)コ海?lt;selectid="findBlogLikeA"resultType="demo.Blog">SELECT*FROMBLOG<where><iftest="title!=null">title=#{title}</if><iftest="content!=null">ANDcontentlike#{content}</if><iftest="create_time!=null">ANDcreate_time=#{create_time}</if></where></select>延時(shí)符03<trim>、<where>和<set>元素與<where>元素等價(jià)的為自定義<trim>元素,實(shí)現(xiàn)條件插入prefix屬性中指定的內(nèi)容;其prefixOverrides屬性表示若不滿足條件將會(huì)忽略該文本序列。<selectid="findBlogLikeB"resultType="demo.Blog">SELECT*FROMBLOG<trimprefix="WHERE"prefixOverrides="AND"><iftest="title!=null">title=#{title}</if><iftest="content!=null">ANDcontentlike#{content}</if><iftest="create_time!=null">ANDcreate_time=#{create_time}</if></trim></select>延時(shí)符03<trim>、<where>和<set>元素<set>元素可用于動(dòng)態(tài)包含需要更新的列,忽略其它不更新的列。比如:<updateid="updateBlog">UPDATEBLOG<set><iftest="title!=null">title=#{title},</if><iftest="content!=null">content=#{content},</if><iftest="create_time!=null">create_time=#{create_time},</if></set>WHEREid=#{id}</update>>延時(shí)符04<foreach>元素動(dòng)態(tài)SQL的另一個(gè)常見(jiàn)使用場(chǎng)景是對(duì)集合進(jìn)行遍歷,尤其是在構(gòu)建IN條件語(yǔ)句的時(shí)候,比如:<selectid="selectByIDs"resultType="demo.Blog">SELECT*FROMBLOGWHEREidIN<foreachitem="item"index="index"collection="list"open="("separator=","close=")">#{item}</foreach></select>以上<foreach>元素指定一個(gè)集合,聲明在元素體內(nèi)使用的集合項(xiàng)(item)和索引(index)變量。open、close屬性指定開(kāi)頭與結(jié)尾的字符串,separator屬性指定集合項(xiàng)迭代之間的分隔符。延時(shí)符04<bind>元素<bind>元素允許創(chuàng)建一個(gè)變量,并將其綁定到當(dāng)前的上下文。比如:<selectid="findBlogByContent"parameterType="demo.Blog"resultType="demo.Blog"><bindname="pattern"value="'%'+_parameter.getContent()+'%'"/>select*fromblogwherecontentlike#{pattern}</select>以上例子定義一個(gè)名為pattern的變量,這個(gè)變量將在SQL語(yǔ)句中用來(lái)作為like查詢(xún)條件的模式。value屬性定義pattern變量的值是通過(guò)將_parameter對(duì)象的getContent()方法返回的值(即查詢(xún)參數(shù)demo.Blog對(duì)象的content屬性)與兩個(gè)百分號(hào)%字符串拼接而成的。5與Spring整合開(kāi)發(fā)延時(shí)符延時(shí)符00簡(jiǎn)介MyBatis-Spring是一個(gè)集成框架,它為MyBatis和Spring提供了無(wú)縫的集成。它允許MyBatis代碼在Spring應(yīng)用上下文中運(yùn)行,并且能夠利用Spring的強(qiáng)大功能,如依賴(lài)注入和事務(wù)管理。。MyBatis-Spring通過(guò)自動(dòng)配置,簡(jiǎn)化了Mapper接口和SqlSession的創(chuàng)建過(guò)程,并將它們作為SpringBean進(jìn)行管理。延時(shí)符01

整合準(zhǔn)備工作實(shí)現(xiàn)Spring與Mybatis的整合開(kāi)發(fā),需要做一些必要的準(zhǔn)備工作,具體如下所示:在章節(jié)4.1.2的pom.xml基礎(chǔ)上增加以下依賴(lài):mybatis-spring、mybatis、spring-jdbc、數(shù)據(jù)庫(kù)驅(qū)動(dòng)等。<dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.24</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>5.3.24</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.10</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.7</version></dependency><!--mysql驅(qū)動(dòng)包--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.49</version></dependency>延時(shí)符01

整合準(zhǔn)備工作

<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEconfigurationPUBLIC"-////DTDConfig3.0//EN""/dtd/mybatis-3-config.dtd"><configuration><!--配置別名--><typeAliases><packagename="com.demo.po"/></typeAliases><!--配置Mapper的位置--><mappers><mapperresource="com/demo/mapper/xx.xml"/></mappers></configuration>創(chuàng)建mybatis配置文件mybatis-config.xml,mybatis的配置文件中不再需要配置<dataSource>數(shù)據(jù)源信息,具體如下:延時(shí)符01

整合準(zhǔn)備工作

<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans.xsd/schema/context/schema/context/spring-context.xsd"><context:annotation-config></context:annotation-config><!--定義數(shù)據(jù)源--><beanid="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"><propertyname="driverClassName"value="com.mysql.jdbc.Driver"></property><propertyname="url"value="jdbc:mysql://localhost:3306/test"></property><propertyname="username"value="root"></property><propertyname="password"value="root"></property></bean><!--配置mybatis工廠--><beanid="sqlSessionFacory"class="org.mybatis.spring.SqlSessionFactoryBean"><!--注入數(shù)據(jù)源--><propertyname="dataSource"ref="dataSource"></property><!--指定核心配置文件--><propertyname="configLocation"value="classpath:mybatis-c

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論