Mybatis基础入门

Mybatis基础(基于maven)

概念:是一个持久层的框架
步骤:
	创建一个springboot项目:在pom.xml添加Mybatis和MySQL的依赖坐标
 <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.3.1</version>
        </dependency>

        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>
	创建对应表的实体类:实体类的属性要和数据表的字段名一样
public class Emp {
    private Integer id; //ID
    private String username; //用户名
    private String password; //密码
    private String name; //姓名
    private Short gender; //性别 , 1 男, 2 女
    private String image; //图像url
    private Short job; //职位 , 1 班主任 , 2 讲师 , 3 学工主管 , 4 教研主管 , 5 咨询师
    private LocalDate entrydate; //入职日期
    private Integer deptId; //部门ID
    private LocalDateTime createTime; //创建时间
    private LocalDateTime updateTime; //修改时间
}

	创建Mapper【接口】:
		需要在接口上添加@Mapper注解
		定义一个抽象方法
		在抽象方法上面加上对应的注解
	在application.properties中加入连接数据库的配置信息【驱动,url、username、password】
@Mapper//注解
public interface DeptMapper {
	// sql查询语句
    @Select ("select * from springboot_crud.dept")
    List<Dept> findAllDepts();// 抽象方法
    }
//application.yml文件数据配置信息
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver //数据库驱动,8版本
    password: 123456 //数据库密码
    username: root //数据库用户名
    url: jdbc:mysql://127.0.0.13306/springboot_crud  // 连接数据库
Mybatis操作数据库
	增加:使用@insert注解,使用注解一般操作于简单的SQL语句
	删除:@delete
	修改:@update
	查询:@select
	如果是模糊查询:concat(开始的符号 , 占位符 , 结束符号 )
	如果查询过程中发现实体类的字段名和数据表的字段名不一致,有如下操作:
		1、做映射:@Results({ @Result( 表的字段, 实体类的属性)})
		2、该配置文件:mybatis.configuration.map-underscore-to-camel-case=true(开启驼峰命名)
	SQL注入的问题:#{占位符}---防止SQL注入,${占位符}:SQL注入
	
xml文件:
	1、文件名必须要和接口名相同
	2、文件路径要和接口名路径相同
	3、xml文件中的namespace要指定接口的全限定类名。标签的id属性要指定方法的名字,且不能重复。
	
动态SQL:
	<if>:判断
	<where>:动态去生成where关键字,并且删除多余 or / and
	<set>:动态生成set关键字, 删除多余 ","
	<foreach>:用于遍历集合
		属性:collection:指定遍历的集合
			 item:遍历时指定变量的名称【可以自定义】
			 separator:指定分割符号
			 open:拼接时开始的符号
			 close:拼接时结束的符号
	<sql>:抽取相同的代码,指定id
	<include>:引用sql
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值