- 如果是统计,使用`count`作为方法名称中的前缀或关键字
- 如果是单个数据,使用`get`或`find`作为方法名称中的前缀或关键字
如果是列表,使用`list`作为方法名称中的前缀或关键字
- 如果操作数据时有条件,可在以上前缀或关键字右侧添加`by字段名` , 例如`deleteById`
在cn.tedu.mybatis包下创建mapper.AdminMapper接口 , 并在接口中添加“插入1条管理员数据”的抽象方法:
package cn.tedu.mybatis.mapper;import cn.tedu.mybatis.Admin;public interface AdminMapper {int insert(Admin admin);}
所有用于Mybatis处理数据的接口都必须被Mybatis识别,有2种做法:- – 在每个接口上添加@Mapper注解
- – 【推荐】在配置类上添加@MapperScan注解,指定接口所在的根包
@Configuration@PropertySource(\"classpath:datasource.properties\")@MapperScan(\"cn.tedu.mybatis.mapper\")public class SpringConfig {// ... ...}//注意:因为Mybatis会扫描以上配置的包,并自动生成包中各接口中的代//理对象,所以,千万不要放其它接口文件
【mybatis框架的主要作用 简述mybatis工作原理】XML Mapper数据查询先在datasource.properties中补充一条配置:
mybatis.mapper-locations=classpath:mapper/*Mapper.xml//然后在配置类中创建SqlSessionFactoryBean类型的对象*/@Beanpublic SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource,@Value(\"${mybatis.mapper-locations}\") Resource mapperLocations) {SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();sqlSessionFactoryBean.setDataSource(dataSource);sqlSessionFactoryBean.setMapperLocations(mapperLocations);return sqlSessionFactoryBean;}
<!DOCTYPE mapperPUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\"\"http://mybatis.org/dtd/mybatis-3-mapper.dtd\"><mapper namespace=\"cn.tedu.mybatis.mapper.AdminMapper\"><insert id=\"insert\" useGeneratedKeys=\"true\" keyProperty=\"id\">insert 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><select id=\"getByUsername\" resultMap=\"BaseResultMap\">select<include refid=\"BaseQueryFields\" />fromams_adminwhereusername=#{username}</select><sql id=\"BaseQueryFields\"><if test=\"true\">id,username,password,nickname,avatar,phone,email,description,is_enable,last_login_ip,login_count,gmt_last_login,gmt_create,gmt_modified</if></sql><resultMap id=\"BaseResultMap\" type=\"cn.tedu.boot.demo.entity.Admin\"><id column=\"id\" property=\"id\" /><result column=\"username\" property=\"username\" /><result column=\"password\" property=\"password\" /><result column=\"nickname\" property=\"nickname\" /><result column=\"avatar\" property=\"avatar\" /><result column=\"phone\" property=\"phone\" /><result column=\"email\" property=\"email\" /><result column=\"description\" property=\"description\" /><result column=\"is_enable\" property=\"isEnable\" /><result column=\"last_login_ip\" property=\"lastLoginIp\" /><result column=\"login_count\" property=\"loginCount\" /><result column=\"gmt_last_login\" property=\"gmtLastLogin\" /><result column=\"gmt_create\" property=\"gmtCreate\" /><result column=\"gmt_modified\" property=\"gmtModified\" /> </resultMap></mapper>
获取新增的数据的自动编号的id在节点配置2个属性,分别是useGeneratedKeys和keyProperty:
<insert id=\"insert\" useGeneratedKeys=\"true\" keyProperty=\"id\">//原有代码</insert>//Mybatis执行此插入数据的操作后,会将自动编号的id赋//值到参数Admin admin的id属性中 , 以上keyProperty指的就是将自动编//号的值放回到参数对象的哪个属性中
修改数据目标:根据id修改某一条数据的密码,要实现此目标,需要执行的SQL语句大致是:
update ams_admin set password=? where id=?
在AdminMapper接口中添加抽象方法:int updatePasswordById(@Param(\"id\") Long id,@Param(\"password\") String password);
【注】当Java程序源代码(.java文件)经过编译后,所有局部的量的名称都会丢失,为使得配置SQL语句时可根据指定的名称使用方法中的参数值,需要在方法的各参数前添加@Param以指定名称
- 怎么把一寸照片改成两寸 一寸转二寸照片的app
- 显示器帧数测试方法 刷新率和帧数的关系
- 无法提取嵌入的字体怎么办 mp4内嵌字幕的提取
- 机械密封的安装方法 机械密封型号及规格尺寸
- 手机cpu性能天梯图
- 细说四大银行的优势和劣势 四大银行
- 细说四大银行的优势和劣势 中国四大银行
- 温柔文艺浪漫的八字短句 8个字浪漫寄语
- 2023年各个属相的周岁年龄范围 今年是什么年
- 失职罪和渎职罪的区别 渎职是什么意思?