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中自带)*/
相关推荐
沐雪架构师2 小时前
mybatis连接PGSQL中对于json和jsonb的处理
json·mybatis
鹿屿二向箔3 小时前
基于SSM(Spring + Spring MVC + MyBatis)框架的咖啡馆管理系统
spring·mvc·mybatis
aloha_78913 小时前
从零记录搭建一个干净的mybatis环境
java·笔记·spring·spring cloud·maven·mybatis·springboot
毕业设计制作和分享14 小时前
ssm《数据库系统原理》课程平台的设计与实现+vue
前端·数据库·vue.js·oracle·mybatis
paopaokaka_luck17 小时前
基于Spring Boot+Vue的助农销售平台(协同过滤算法、限流算法、支付宝沙盒支付、实时聊天、图形化分析)
java·spring boot·小程序·毕业设计·mybatis·1024程序员节
cooldream200917 小时前
Spring Boot中集成MyBatis操作数据库详细教程
java·数据库·spring boot·mybatis
不像程序员的程序媛18 小时前
mybatisgenerator生成mapper时报错
maven·mybatis
小布布的不21 小时前
MyBatis 返回 Map 或 List<Map>时,时间类型数据,默认为LocalDateTime,响应给前端默认含有‘T‘字符
前端·mybatis·springboot
背水1 天前
Mybatis基于注解的关系查询
mybatis
free_girl_fang1 天前
高效作业之Mybatis缓存
java·ide·缓存·mybatis