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中自带)*/
相关推荐
jokerest1239 小时前
web——sqliabs靶场——第十三关——报错注入+布尔盲注
mybatis
武子康9 小时前
Java-06 深入浅出 MyBatis - 一对一模型 SqlMapConfig 与 Mapper 详细讲解测试
java·开发语言·数据仓库·sql·mybatis·springboot·springcloud
WindFutrue12 小时前
使用Mybatis向Mysql中的插入Point类型的数据全方位解析
数据库·mysql·mybatis
AiFlutter13 小时前
Java实现简单的搜索引擎
java·搜索引擎·mybatis
天天扭码16 小时前
五天SpringCloud计划——DAY1之mybatis-plus的使用
java·spring cloud·mybatis
武子康1 天前
Java-05 深入浅出 MyBatis - 配置深入 动态 SQL 参数、循环、片段
java·sql·设计模式·架构·mybatis·代理模式
2的n次方_2 天前
MyBatis——#{} 和 ${} 的区别和动态 SQL
数据库·sql·mybatis
jokerest1232 天前
web——sqliabs靶场——第十二关——(基于错误的双引号 POST 型字符型变形的注入)
数据库·sql·mybatis
天蓝蓝235282 天前
Lucene数据写入流程
java·mybatis·lucene
shiming88792 天前
Lucene数据写入与数据刷盘机制
java·mybatis·lucene