MyBatis快速入门

        MyBatis是一款优秀的持久层框架,用于简化JDBC的开发。

JDBC:(java DataBase Connectivity), 就是使用Java语言操作关系型数据库的一套API

        本质:

                sun公司官方定义的一套操作所有关系型数据库的规范,即接口。

                各个数据库厂商去实现这套接口,提供数据库驱动jar包

                我们可以使用这套接口(JDBC)编程,真正执行的代码时驱动jar包中的实现类。

使用Mybatis查询所有用户数据

        1.准备工作(创建springboot工程,数据库表user, 实体类User)

        2.引入MYbatis的相关依赖,配置Mybatis       

       MyBatis依赖

        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.3.0
        
        
        
            com.mysql
            mysql-connector-j
            runtime
        









        
            org.springframework.boot
            spring-boot-starter-test
            test
        

        配置

#配置数据库的连接信息 - 四要素
#驱动类名称
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#数据库连接的url
spring.datasource.url=jdbc:mysql://localhost:3306/itcast
#连接数据库的名用户名
spring.datasource.username=root
#连接数据库的密码
spring.datasource.password=123456

        3.编写SQL语句(注解/XML)

        UserMapper

@Mapper // 在运行时,会制动的生成该接口的实现类对象(代理对象),并且将该对象交给IOC容器管理
public interface UserMapper {

    //查询全部用户信息
    @Select("select * from user")
    public List list();
}

数据库连接池

        --数据库连接池是个容器,负责分配,管理数据库连接(Connection)

        --它允许应用程序重复使用一个现有的数据库连接,而不时重复建立一个

        --释放空闲时间超过最大空闲时间的连接,来避免因为没有释放连接而引起的数据库连接遗漏 

        资源重用

        提升系统响应速度

        避免数据库连接遗漏

        切换Druid数据库连接池

                Hikari(springboot默认)  

                Druid (alibaba)

                官网:druid/druid-spring-boot-starter at master · alibaba/druid (github.com)

                1.导入maven依赖

       
            com.alibab
            druid-spring-boot-starter
            1.2.8
        

                2. 配置数据库连接

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/itcast
spring.datasource.username=root
spring.datasource.password=123456

lombok

        lombok是一个实用的Java类库,能通过注解的形式自动生成构造器、getter/setter、equals、hashcode、toString等方法,并可以生成日志变量,简化java开发,提高效率。

        
            org.projectlombok
            lombok
        

@Getter/@Setter

@ToString                                        =========>                @Date

@EqualsAndHashCode

@NoArgsConstructor

@AllArgsConstructor

Mybatis-基础操作

#指定mybatis输出日志的位置,输出控制台
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

        接口方法:

                删除

    //根据ID删除数据
     @Delete("delete from emp where id = #{id}")
    public void delete(Integer id);

         SQL注入:

                SQL注入是通过操作输入的数据来修改事先定义好的SQL语句,以达到执行代码对服务器进行攻击的方法。

        #{...}:执行SQL时,会将#{...}替换为?,生成预编译SQL,会自动设置参数值。

        使用时机: 参数传递,都使用#{...}

        ${...}:拼接SQL。直接将参数拼接在SQL语句中,存在SQL注入问题

        使用时机:如果对表名,列表进行动态设置时使用

        

你可能感兴趣的:(mybatis,java,数据库)