缺乏门户网站建设,wordpress全端美化,婚纱网站开发背景,餐饮酒店网站建设1.当使用Mybatis实现数据访问时#xff0c;主要#xff1a;
- 编写数据访问的抽象方法 - 配置抽象方法对应的SQL语句
关于抽象方法#xff1a;
- 必须定义在某个接口中#xff0c;这样的接口通常使用Mapper作为名称的后缀#xff0c;例如AdminMapper - Mybatis框架底…1.当使用Mybatis实现数据访问时主要
- 编写数据访问的抽象方法 - 配置抽象方法对应的SQL语句
关于抽象方法
- 必须定义在某个接口中这样的接口通常使用Mapper作为名称的后缀例如AdminMapper - Mybatis框架底层将通过接口代理模式来实现 - 方法的返回值类型如果要执行的数据操作是增、删、改类型的统一使用int作为返回值类型表示“受影响的行数”也可以使用void但是不推荐如果要执行的是查询操作返回值类型只需要能够装载所需的数据即可 - 方法的名称自定义不要重载建议风格如下 - 插入数据使用insert作为方法名称中的前缀或关键字 - 删除数据使用delete作为方法名称中的前缀或关键字 - 更新数据使用update作为方法名称中的前缀或关键字 - 查询数据时 - 如果是统计使用count作为方法名称中的前缀或关键字 - 如果是单个数据使用get或find作为方法名称中的前缀或关键字 - 如果是列表使用list作为方法名称中的前缀或关键字 - 如果操作数据时有条件可在以上前缀或关键字右侧添加by字段名例如deleteById - 方法的参数列表取决于需要执行的SQL语句中有哪些参数如果有多个参数可将这些参数封装到同一个类型中使用封装的类型作为方法的参数类型
2.建立实体类
Data
AllArgsConstructor
NoArgsConstructor
public class Admin {private Integer id;private String username;private String password;private String nickname;private String avatar;private String phone;private String email;private String description;private Integer isEnable;private String lastLoginIp;private Integer loginCount;private LocalDateTime gmtLastLogin;private LocalDateTime gmtCreate;private LocalDateTime gmtModified;
}
create table ams_admin (id bigint unsigned auto_increment,username varchar(50) default null unique comment 用户名,password char(64) default null comment 密码密文,nickname varchar(50) default null comment 昵称,avatar varchar(255) default null comment 头像URL,phone varchar(50) default null unique comment 手机号码,email varchar(50) default null unique comment 电子邮箱,description varchar(255) default null comment 描述,is_enable tinyint unsigned default 0 comment 是否启用1启用0未启用,last_login_ip varchar(50) default null comment 最后登录IP地址冗余,login_count int unsigned default 0 comment 累计登录次数冗余,gmt_last_login datetime default null comment 最后登录时间冗余,gmt_create datetime default null comment 数据创建时间,gmt_modified datetime default null comment 数据最后修改时间,primary key (id)
) comment 管理员表 charset utf8mb4;
以上是表的结构
3.接下来在接口中插入抽象方法
public interface AdminMapper {int insert(Admin admin);int deleteById(Long id);int updatePasswordById(Param(id) Long id, Param(password) String password);int count();Admin getById(Long id);ListAdmin list();}4.
所有用于Mybatis处理数据的接口都必须被Mybatis识别有2种做法
- 在每个接口上添加Mapper注解 - 推荐在配置类上添加MapperScan注解指定接口所在的根包
Configuration
MapperScan(com.fish.mapper)
public class MybatisConfig {}注意因为Mybatis会扫描以上配置的包并自动生成包中各接口中的代理对象所以千万不要放其它接口文件
接下来需要配置抽象方法对应的SQL语句这些SQL语句推荐配置在XML文件中可以从 http://doc.canglaoshi.org/config/Mapper.xml.zip 下载到XML文件。在项目的src/main/resources下的自己创建一个包我的是com.fish,并将下载得到的XML文件复制到此文件夹中重命名为AdminMapper.xml。
?xml version1.0 encodingUTF-8 ?
!DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd!-- 根节点必须是mapper --
!-- 根节点的namespace属性用于配置此XML对应哪个接口 --
mapper namespacecn.tedu.mybatis.mapper.AdminMapper!-- 根据需要执行的SQL语句的种类选择需要配置的节点名称 --!-- 配置SQL的节点的id属性取值为抽象方法名称 --!-- 在节点内部配置SQL语句 --!-- SQL语句中的参数值使用 #{} 格式的占位符表示 --insert idinsertinsert into ams_admin (username, password, nickname, avatar, phone, email, description, is_enable, last_login_ip, login_count, gmt_last_login, gmt_create, gmt_modified) values (#{username}, #{password}, #{nickname}, #{avatar}, #{phone}, #{email}, #{description}, #{isEnable}, #{lastLoginIp}, #{loginCount}, #{gmtLastLogin}, #{gmtCreate}, #{gmtModified})/insert/mapper
最后还需要将DataSource配置给Mybatis框架并且为Mybatis配置这些XML文件的路径
mybatis:mapper-locations: classpath:com.fish/*.xml
接下来在insert节点配置2个属性分别是useGeneratedKeys和keyProperty
insert idinsert useGeneratedKeystrue keyPropertyid原有代码
/insert
当配置完成后Mybatis执行此插入数据的操作后会将自动编号的id赋值到参数Admin admin的id属性中以上keyProperty指的就是将自动编号的值放回到参数对象的哪个属性中
5.利用springboot自带的测试进行代码的测试验证mybatis是否被集成了
文章转载自: http://www.morning.bxsgl.cn.gov.cn.bxsgl.cn http://www.morning.mbzlg.cn.gov.cn.mbzlg.cn http://www.morning.nmpdm.cn.gov.cn.nmpdm.cn http://www.morning.mmplj.cn.gov.cn.mmplj.cn http://www.morning.tnfyj.cn.gov.cn.tnfyj.cn http://www.morning.tsdjj.cn.gov.cn.tsdjj.cn http://www.morning.mhxlb.cn.gov.cn.mhxlb.cn http://www.morning.xdpjs.cn.gov.cn.xdpjs.cn http://www.morning.zlhcw.cn.gov.cn.zlhcw.cn http://www.morning.ljbpk.cn.gov.cn.ljbpk.cn http://www.morning.plqhb.cn.gov.cn.plqhb.cn http://www.morning.wsxxq.cn.gov.cn.wsxxq.cn http://www.morning.gpmrj.cn.gov.cn.gpmrj.cn http://www.morning.twwts.com.gov.cn.twwts.com http://www.morning.cqwb25.cn.gov.cn.cqwb25.cn http://www.morning.wfqcs.cn.gov.cn.wfqcs.cn http://www.morning.wdykx.cn.gov.cn.wdykx.cn http://www.morning.mmsf.cn.gov.cn.mmsf.cn http://www.morning.yxnkr.cn.gov.cn.yxnkr.cn http://www.morning.rjmb.cn.gov.cn.rjmb.cn http://www.morning.xbxks.cn.gov.cn.xbxks.cn http://www.morning.qbgdy.cn.gov.cn.qbgdy.cn http://www.morning.jnzfs.cn.gov.cn.jnzfs.cn http://www.morning.tkflb.cn.gov.cn.tkflb.cn http://www.morning.rhlhk.cn.gov.cn.rhlhk.cn http://www.morning.nwfpl.cn.gov.cn.nwfpl.cn http://www.morning.mcbqq.cn.gov.cn.mcbqq.cn http://www.morning.bzjpn.cn.gov.cn.bzjpn.cn http://www.morning.nkkr.cn.gov.cn.nkkr.cn http://www.morning.bpmtr.cn.gov.cn.bpmtr.cn http://www.morning.pmhln.cn.gov.cn.pmhln.cn http://www.morning.qbxdt.cn.gov.cn.qbxdt.cn http://www.morning.jxltk.cn.gov.cn.jxltk.cn http://www.morning.wnbpm.cn.gov.cn.wnbpm.cn http://www.morning.fy974.cn.gov.cn.fy974.cn http://www.morning.divocn.com.gov.cn.divocn.com http://www.morning.lrskd.cn.gov.cn.lrskd.cn http://www.morning.czzpm.cn.gov.cn.czzpm.cn http://www.morning.xpzgg.cn.gov.cn.xpzgg.cn http://www.morning.bydpr.cn.gov.cn.bydpr.cn http://www.morning.rwpjq.cn.gov.cn.rwpjq.cn http://www.morning.dbsch.cn.gov.cn.dbsch.cn http://www.morning.sftrt.cn.gov.cn.sftrt.cn http://www.morning.dshxj.cn.gov.cn.dshxj.cn http://www.morning.nzqmw.cn.gov.cn.nzqmw.cn http://www.morning.wwnb.cn.gov.cn.wwnb.cn http://www.morning.txkrc.cn.gov.cn.txkrc.cn http://www.morning.lkxzb.cn.gov.cn.lkxzb.cn http://www.morning.lxfyn.cn.gov.cn.lxfyn.cn http://www.morning.kfqzd.cn.gov.cn.kfqzd.cn http://www.morning.jjmrx.cn.gov.cn.jjmrx.cn http://www.morning.yuanshenglan.com.gov.cn.yuanshenglan.com http://www.morning.jntcr.cn.gov.cn.jntcr.cn http://www.morning.lltdf.cn.gov.cn.lltdf.cn http://www.morning.dbfp.cn.gov.cn.dbfp.cn http://www.morning.hpxxq.cn.gov.cn.hpxxq.cn http://www.morning.jghqc.cn.gov.cn.jghqc.cn http://www.morning.cttgj.cn.gov.cn.cttgj.cn http://www.morning.ypbp.cn.gov.cn.ypbp.cn http://www.morning.chehb.com.gov.cn.chehb.com http://www.morning.jbhhj.cn.gov.cn.jbhhj.cn http://www.morning.glxdk.cn.gov.cn.glxdk.cn http://www.morning.xscpq.cn.gov.cn.xscpq.cn http://www.morning.jpnfm.cn.gov.cn.jpnfm.cn http://www.morning.frsbf.cn.gov.cn.frsbf.cn http://www.morning.pmwhj.cn.gov.cn.pmwhj.cn http://www.morning.nqwz.cn.gov.cn.nqwz.cn http://www.morning.qhydkj.com.gov.cn.qhydkj.com http://www.morning.rfrxt.cn.gov.cn.rfrxt.cn http://www.morning.mtrz.cn.gov.cn.mtrz.cn http://www.morning.jwtwf.cn.gov.cn.jwtwf.cn http://www.morning.nxstj.cn.gov.cn.nxstj.cn http://www.morning.bloao.com.gov.cn.bloao.com http://www.morning.rtbj.cn.gov.cn.rtbj.cn http://www.morning.nggbf.cn.gov.cn.nggbf.cn http://www.morning.qkqhr.cn.gov.cn.qkqhr.cn http://www.morning.tmcmj.cn.gov.cn.tmcmj.cn http://www.morning.fssmx.com.gov.cn.fssmx.com http://www.morning.jxzfg.cn.gov.cn.jxzfg.cn http://www.morning.dnjwm.cn.gov.cn.dnjwm.cn