Mybatis入门

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

netstat -aon | findstr "3306" 查看3306端口是否被占用
IDEA连接mysql报错

Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually.

设置时区

Mybatis入门

  1. 快速入门
  2. JDBC介绍
  3. 数据库连接池
  4. lombok

Mybatis基础增删改查
Mybatis动态SQL

Mybatis操作数据库的步骤:

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

2.引入Mybatis的相关依赖,配置Mybatis(数据库连接信息)

使用UserMapper报错

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

UserMapper.java文件中

java 复制代码
@Mapper //Mybatis中的Mapper接口 程序运行时:框架自动生成接口的实现类对象
//并交给Spring的IOC容器管理
public interface UserMapper {
    //查询所有用户数据
    @Select("select id,name,age,gender,phone from  user")
    //代表的就是select查询,用于书写select查询语句
    public List<User> list();
}

在测试文件.java文件中写以下代码

java 复制代码
/*该测试类在运行时,会自动通过引导类加载Spring的环境(IOC容器)。我们要测试那个bean对象,
    就可以直接通过@Autowired注解直接将其注入进行,然后就可以测试了。*/
    @Autowired(required = false)
    private UserMapper userMapper;
    @Test
    public void testList(){
        List<User> userList=userMapper.list();
        for(User user:userList){
            System.out.println(user);
        }
    }


数据库名字为你要连接的数据库

启动 报错

JDBC: ( Java DataBase Connectivity )

  1. 注册驱动
  2. 获取连接对象
  3. 执行SQL语句,返回执行结果
  4. 处理执行结果
  5. 释放资源
java 复制代码
public void testJdbc() throws Exception{
        // 1.注册驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //2.获取数据库连接
        String url="jdbc:mysql://127.0.0.1:3306/Xuexi";
        String username="root";
        String password="1201sjk";
        Connection connection = DriverManager.getConnection(url,username,password);

        //3.定义 SQl语句
        String sql="select * from user";

        //4.执行sql语句
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        ResultSet resultSet = preparedStatement.executeQuery();

        List<User> userList=new ArrayList<>(); //集合对象
        while (resultSet.next()){
            int id=resultSet.getInt("id");
            String name=resultSet.getString("name");
            short age = resultSet.getShort("age");
            short gender = resultSet.getShort("gender");
            String phone = resultSet.getString("phone");
            User user=new User(id,name,age,gender,phone);
            userList.add(user);
        }
        //释放资源
        resultSet.close();
        preparedStatement.close();
        connection.close();

        //遍历集合
        for (User user : userList) {
            System.out.println(user);
        }
    }

}

常见数据库连接池

C3P0
DBCP
Druid

Hikari(Springboot默认)

java 复制代码
spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.druid.url=jdbc:mysql://localhost:3306/Xuexi
spring.datasource.druid.username=root
spring.datasource.druid.password=

使用lombok

1.在pom.xml文件中引入依赖

java 复制代码
 <!--在springboot的父工程中,已经集成了lombok并指定了版本号,故当前引入依赖
        时不需要指定version-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
java 复制代码
@Data //getter方法、setter方法、toString方法、hashCode方法、、equals方法
@NoArgsConstructor //无参构造
@AllArgsConstructor //全参构造
/*Lombok的注意事项:
        Lombok会在编译时,会自动生成对应的java代码
        在使用lombok时,还需要安装一个lombok的插件(新版本的IDEA中自带)*/
相关推荐
loser.loser5 小时前
QQ邮箱发送验证码(Springboot)
java·spring boot·mybatis
毅航7 小时前
Trae复刻Mybatis之旅(一):创建SqlSession会话,构建代理
后端·mybatis·trae
潮流coder9 小时前
mybatis的if判断==‘1‘不生效,改成‘1‘.toString()才生效的原因
java·tomcat·mybatis
BillKu11 小时前
Java + Spring Boot + Mybatis 实现批量插入
java·spring boot·mybatis
dog shit12 小时前
web第十次课后作业--Mybatis的增删改查
android·前端·mybatis
emo了小猫12 小时前
Mybatis #{} 和 ${}区别,使用场景,LIKE模糊查询避免SQL注入
数据库·sql·mysql·mybatis
yuren_xia20 小时前
Spring Boot + MyBatis 集成支付宝支付流程
spring boot·tomcat·mybatis
神仙别闹1 天前
基于Java(SpringBoot、Mybatis、SpringMvc)+MySQL实现(Web)小二结账系统
java·spring boot·mybatis
crud1 天前
Spring Boot 整合 MyBatis-Plus:从入门到精通,一文搞定高效持久层开发!
java·spring boot·mybatis
爱上语文1 天前
MyBatisPlus(3):常用配置
java·后端·mybatis