下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、56789101112131415161718192021222324252627282930313233343536373839跳至1全屏预览,代码Mybatis+Spring+MySQL1实体bean2packagecom.pb.mybatis.entity;34publicclassUserIntegerage;/年龄Integergender;/性另UIntegerid;Stringmail;/邮箱Stringnickname;Stringpassword;Stringsite;/个人站点Stringusername;publicUser()super();/TODOAuto-gene
2、ratedconstructorstubpublicUser(Integerid)super();this.id=id;publicUser(Stringusername,Stringpassword)super();this.username=username;this.password=password;publicUser(Stringpassword,Stringusername,Stringnickname,Integergender,Integerage,Stringmail,Stringsite)super();this.password=password;this.userna
3、me=username;this.nickname=nickname;this.gender=gender;this.age=age;this.mail:=mail;this.site=:site;publicUser(Integerid,Integerage,Integergender,Stringmail,Stringnickname,Stringpassword,Stringsite,String40username)super();this.age=age;this.gender=gender;this.id=id;this.mail=mail;this.nickname=nickna
4、me;this.password=password;this.site=site;this.username=username4142434445464748495051525354555657585960616263646566676869707172737475767778798081828384)publicIntegergetAge()returnage;)publicIntegergetGender()returngender;)publicIntegergetId()returnid;)publicStringgetMail()returnmail;)publicStringget
5、Nickname()returnnickname;)publicStringgetPassword()returnpassword;)publicStringgetSite()returnsite;)publicStringgetUsername()returnusername;)publicvoidsetAge(Integerage)this.age=age;)publicvoidsetGender(Integergender)this.gender=gender;)publicvoidsetId(Integerid)this.id=id;)publicvoidsetMail(Stringm
6、ail)85 this.mail=mail;86 )87 publicvoidsetNickname(Stringnickname)88 this.nickname=nickname;89 )90 publicvoidsetPassword(Stringpassword)91 this.password=password;92 )93 publicvoidsetSite(Stringsite)94 this.site=site;95 )96 publicvoidsetUsername(Stringusername)97 this.username=username;98 )99 )10实体类的
7、UserDao0packagecom.pb.mybatis.dao;101importjava.util.List;10importcom.pb.mybatis.entity.User;2 importcom.pb.mybatis.util.UserPage;10/*3 *定义实体内操作接口Dao10*authorVoishion4*version2012.12.3010*/5 publicinterfaceUserDao106 /*10*保存7*paramuser10*/8 voidsave(Useruser);109 /*11*查询所有0*return11*/I List<User&
8、gt;findAll();II2/*11*按ID查询3*paramid11*return4*/11UserfindById(Integerid);511/*6*删除11*paramuser7*/11voiddelete(Integerid);811/*9*更新12*parammap0*/12voidupdate(Useruser);112/*2*分页查询12*parampage3*return12*/4 List<User>findByPage(UserPagepage);125 /*12*分页查询时得到符合条件的数据6*parampage12*return7*/12Integer
9、getCount(UserPagepage);812)9实体类UserDao的实现UserDaoImpl130packagecom.pb.mybatis.dao.impl;131importjava.util.List;13importcom.pb.mybatis.dao.UserDao;2importcom.pb.mybatis.entity.User;13importcom.pb.mybatis.mapper.UserMapper;3importcom.pb.mybatis.util.UserPage;134 publicclassUserDaoImplimplementsUserDao1
10、35 /在此处注入一个UserMapper13privateUserMapperuserMapper;613713813914014114214314414514614714/8149150151152153154155156)publicvoidsetUserMapper(UserMapperuserMapper)this.userMapper=userMapper;)Overridepublicvoiddelete(Integerid)userMapper.delete(id);)OverridepublicList<User>findAll()returnuserMapper
11、.findAll();)OverridepublicUserfindById(Integerid)returnuserMapper.findById(id);)Overridepublicvoidsave(Useruser)userMapper.save(user);thrownewRuntimeException("Error");)Overridepublicvoidupdate(Useruser)userMapper.update(user);)OverridepublicList<User>findByPage(UserPagepage)returnus
12、erMapper.findByPage(page);)OverridepublicIntegergetCount(UserPagepage)returnuserMapper.getCount(page);)15我想大家现在都在关心UserDaoImpl中的UserMapper是从哪里来的:715首先我们需要一个分页查询的中间类UserPage:815 packagecom.pb.mybatis.util;916 importcom.pb.mybatis.entity.User;016/*1*User分页查询公共条件类16*authorVoishion2*/16publicclassUserPa
13、ge3IntegerfirstRec;16IntegerpageSize;4Useruser;16publicIntegergetFirstRec()5returnfirstRec;166publicvoidsetFirstRec(IntegerfirstRec)16this.firstRec=firstRec;716publicIntegergetPageSize()8returnpageSize;169publicvoidsetPageSize(IntegerpageSize)17this.pageSize=pageSize;017publicUsergetUser()1returnuse
14、r;172publicvoidsetUser(Useruser)17this.user=user;3174其次就是UserMapper映射了175package17com.pb.mybatis.mapper;6import17import7import17java.util.List;com.pb.mybatis.entity.User;com.pb.mybatis.util.UserPage;8 /*17*定义实体内操作接口9 *authorVoishion18*version2012.12.300*/18publicinterfaceUserMapper1/*18*保存2*paramuse
15、r18*/3 voidsave(Useruser);184 /*18*查询所有5*return18*/6 List<User>findAll();187 /*18*按ID查询8*paramid18*return9*/19UserfindById(Integerid);019/*1*删除19*paramuser2*/19voiddelete(Integerid);319/*4*更新19*parammap5*/19voidupdate(Useruser);619/*7*分页查询19*parampage8*return19*/9List<User>findByPage(Use
16、rPagepage);200/*20*分页查询时得到符合条件的数据1*parampage20*return2*/20IntegergetCount(UserPagepage);320)卜就4注意UserMapper要与在同一个包下的UserMapper.xml同名,且在同一包下:20是UserMapper的映射文件UserMapper.xml文件520<?xmlversion="1.0"encoding="UTF-8"?>6<!DOCTYPEmapperPUBLIC"-//DTDMapper3.0/EN&
17、quot;20"/dtd/mybatis-3-mapper.dtd">720<!-Mapper文件最好放在与Dao接口同一目次下->8<mappernamespace="com.pb.mybatis.mapper.UserMapper">2021<resultMaptype="com.pb.mybatis.entity.User"id="resultUser">0<idproperty="id"column=&qu
18、ot;ID"/>21<resultproperty="age"column="AGE"/>1<resultproperty="gender"column="GENDER"/>21<resultproperty="mail"column="MAIL"/>2<resultproperty="nickname"column="NICKNAME"/>21<resultprop
19、erty="password"column="PASSWORD'/3<resultproperty="site"column="SITE"/>21<resultproperty="username"column="USERNAME"/>4</resultMap>215<parameterMaptype="com.pb.mybatis.entity.User"id="paramUser"21<
20、parameterproperty="id"/>6<parameterproperty="age"/>21<parameterproperty="gender"/>7<parameterproperty="mail"/>21<parameterproperty="nickname"/>8<parameterproperty="password"/>21<parameterproperty="si
21、te"/>9<parameterproperty="username"/>220</parameterMap>9<!-定义数据库字段与实体对象的映射关系->22<!-定义要操纵的SQL语句->>1<insertid="save"parameterType="com.pb.mybatis.entity.User">22INSERTINTO2user(id,age,gender,username,password,mail,nickname,site)22V
22、ALUES(#id),#age),#gender),#username),#password),#mail),#n3ickname),#site)22</insert>22<selectid="findAll"resultMap="resultUser">SELECT*FROMuser22</select>22<selectid=7resultMap="findById""resultUser"parameterType="Integer"22SELEC
23、T*FROMuser22WHEREid=#value</select>23<deleteid="delete"parameterType="Integer">DELETEFROMuser23WHEREid=#value</delete>23<updateid="update"parameterType="com.pb.mybatis.entity.User"3<set>23<iftest="age!=null":4<iftest=
24、"gender!=null"23<iftest="username!=null"5<iftest="password!=null"23<iftest="mail!=null"6<iftest="nickname!=null"23<iftest="site!=null"7</set>23WHEREid=#id23UPDATEuser>mail=#mail,</>site=#site,</8</update&
25、gt;>age=#age,</if>>gender=#gender,</if>>username=#username,</>password=#password,</if>>nickname=#nickname,</if>ififif23<select24resultMap=id="findByPage""resultUser":SELECT*FROMuser24WHERE1=1<iftest="user!=null"24iftest=2#
26、user.nickname</24<iftest=3#user.username</24</if>2424parameterType="com.pb.mybatis.util.UserPage""user.nickname!=null">andnicknamelikeif>"user.username!=null">andusernamelikeif>LIMIT#firstRec,#pageSize</select><selectid="getCount
27、"parameterType="com.pb.mybatis.util.UserPage"6resultType="Integer124SELECTcount(*)FROMuser7WHERE1=124<iftest="user!=null">>andnicknamelike>andusernamelike8<iftest=24#user.nickname</9<iftest=25#user.username</0</if>25</select>1</map
28、per>25现在是UserService"user.nickname!=null"if>"user.username!=null"if>业务层:225packagecom.pb.mybatis.service;325importjava.util.List;425importcom.pb.mybatis.entity.User;5importcom.pb.mybatis.util.UserPage;256/*25*Service层User操作接口7 *authorVoishion25*version2012.12.308 */25pub
29、licinterfaceUserService926voidsaveUser(Useruser);026voidupdateUser(Useruser);126voiddeleteUser(Integerid);226UserfindById(Integerid);326List<User>findAll();426List<User>findByPage(UserPagepage);526IntegergetCount(UserPagepage);626UserServiceImpl实现:726 packagecom.pb.mybatis.service.impl;8
30、26import9import27importOimport27import1/*UserServicejava.util.List;com.pb.mybatis.dao.UserDao;com.pb.mybatis.entity.User;com.pb.mybatis.service.UserService;com.pb.mybatis.util.UserPage;27 *Service层User操作接口实现2 *authorVoishion27*version2012.12.303 */27publicclassUserServicelmplimplements427privateUser
31、DaouserDao;527publicvoidsetUserDao(UserDaouserDao)6this.userDao=userDao;27)727Override8publicvoidsaveUser(Useruser)27userDao.save(user);9)280Override28publicvoiddeleteUser(Integerid)1 userDao.delete(id);282 )283 Override28publicvoidupdateUser(Useruser)4userDao.update(user);28)528Override6publicList&
32、lt;User>findAll()28returnuserDao.findAll();7 )288 Override28publicUserfindById(Integerid)9returnuserDao.findByld(id);29)029Override1publicList<User>findByPage(UserPagepage)29returnuserDao.findByPage(page);2293Override29publicIntegergetCount(UserPagepage)4 returnuserDao.getCount(page);295296
33、注意,以下就是spring的applicationContext.xml文件的配置了非常重要:297<?xmlversion="1.0"encoding="UTF-8"?>29<beansxmlns="/schema/beans"8xmlns:xsi="/2001/XMLSchema-instance"29xmlns:context="/sc
34、hema/context"9xmlns:aop="/schema/aop"30xmlns:tx="/schema/tx"0xsi:schemaLocation="/schema/beans30/schema/beans/spring-beans-3.01.xsd30http:/www.springframe
35、/schema/context2/schema/context/spring-context30-3.0.xsd3/schema/tx30/schema/tx/spring-tx-3.0.xsd4/schema/aop30/schema/aop/spring-aop-3.0.xsd5 &quo
36、t;>306 <!-将所有的配置文件没有放在外面:简单,但可维护性不高->307 <context:annotation-config/>30<!-扫描物理路径及注册->8<context:component-scanbase-package="com.pb.mybatis.*"/>309<!-pertiesDirectory->31<bean0class="org.springframework.beans.factory.config.PropertyPlaceholder
37、Co31nfigurer">/>1<propertyname="locations"value="classpath:perties"31</bean>2<beanid="dataSource"31class="org.springframework.jdbc.datasource.DriverManagerDataSource"3<propertyname="driverClassName"31value="$jdb
38、c.driverClassName"/>4<propertyname="url"value="$jdbc.url"/>31<propertyname="username"value="$jdbc.username"/>5<propertyname="password"value="$jdbc.password"/>31</bean>631<!-SqlSessionFactory->7<beani
39、d="sqlSessionFactory"31class="org.mybatis.spring.SqlSessionFactoryBean">8<propertyname="dataSource"ref="dataSource"/>31</bean>932<!-ScanMapperFiles->0<beanclass="org.mybatis.spring.mapper.MapperScannerConfigurer">32<prop
40、ertyname="basePackage"value="com.pb.mybatis.mapper"/>1</bean>322<!-TransactionManagerContorl->32<beanname="transactionManager"3class="org.springframework.jdbc.datasource.DataSourceTransactionManag32er">4<propertyname="dataSource&qu
41、ot;ref="dataSource"/>32</bean>5<tx:adviceid="userTxAdvice"32transaction-manager="transactionManager">6<tx:attributes>32<tx:methodname="save*"propagation="REQUIRED"7read-only="false"rollback-for="java.lang.Except
42、ion"32no-rollback-for="java.lang.RuntimeException"/>8<tx:methodname="delete*"propagation="REQUIRED"32read-only="false"rollback-for="java.lang.Exception"9no-rollback-for="java.lang.RuntimeException"/>33<tx:methodname="u
43、pdate*"propagation="REQUIRED"0read-only="false"rollback-for="java.lang.Exception"33no-rollback-for="java.lang.RuntimeException"/>1<tx:methodname="find*"propagation="SUPPORTS"33read-only="true"/>2</tx:attributes>
44、;33</tx:advice>3<aop:config>33<!-把事务控制在Service层->4<aop:pointcutid="pc"expression="execution(*33com.pb.mybatis.service.*.*(.)"/>5<aop:advisoradvice-ref="userTxAdvice"pointcut-ref="pc"/>33</aop:config>633<!-DaoBean->7<beanid="userDao"class="com.pb.mybatis.dao.impl.UserDaoImpl"33autowire="byName"/>833<!-ServiceBean-&g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025赣美版一年级美术上册《笔盒添功能》教学设计
- 中职数学动画课件
- 外贸类毕业论文
- 论经济责任审计毕业论文
- 计算机服务专业毕业论文
- 2026年开展学校元旦节放假通知 (合计3份)
- 2025年及未来5年市场数据中国煤炭洗选设备行业市场全景调研及投资规划建议报告
- 2025年及未来5年市场数据中国化学精益(CL)行业市场运营现状及投资方向研究报告
- 2025年及未来5年市场数据中国电梯及电梯部件行业全景评估及投资规划建议报告
- 2025年及未来5年市场数据中国木制包装容器市场竞争态势及投资战略规划研究报告
- 事业单位人员基本情况登记表
- 李端树完整颈淋巴结清扫术
- 互感器安装施工方案
- 制片人手册2023版制品人手册
- 二次元作业指导书
- SB/T 10595-2011清洁行业经营服务规范
- 证监会专业科目考试复习资料
- 联合收获机结构与维修课件
- 宪法知识竞赛参考题库(单选、多选、判断共480题)
- 临床中常用的创伤评分
- 2022年石家庄经济技术开发区开发建设集团有限公司招聘笔试题库及答案解析
评论
0/150
提交评论