MyBatis快速入门

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

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

        本质:

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

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

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

使用Mybatis查询所有用户数据

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

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

       MyBatis依赖

        <!-- mybatis的起步依赖 -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.3.0</version>
        </dependency>
        <!--mysql驱动包-->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>

<!--老版本的驱动包-->
<!--        <dependency>-->
<!--            <groupId>com.mysql</groupId>-->
<!--            <artifactId>mysql-connector-j</artifactId>-->
<!--            <scope>runtime</scope>-->
<!--        </dependency>-->

<!--springboot单元测试-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        配置

#配置数据库的连接信息 - 四要素
#驱动类名称
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<User> list();
}

数据库连接池

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

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

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

        资源重用

        提升系统响应速度

        避免数据库连接遗漏

        切换Druid数据库连接池

                Hikari(springboot默认)  

                Druid (alibaba)

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

                1.导入maven依赖

       <dependency>
            <groupId>com.alibab</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <scope>1.2.8</scope>
        </dependency>

                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开发,提高效率。

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

@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注入问题

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

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值