?
?
?
?
?
?
(1)数值类型
age tinyint unsigned——加上unsigned就是不能取负数,将取值范围取正数区间变大。
(2)字符串类型
char(10):最多只能存储10个字符,不足10个字符,占用10个字符空间(性能较高、浪费空间)
varchar(10):?最多只能存储10个字符,不足10个字符,按照实际长度存储(性能较低、节省空间)
?(3)日期类型
?
?
?
?
?
?
?
?
?
?
?
?
?
?
(一)JDBC操作数据库
package com.itheima;
import com.itheima.mapper.UserMapper;
import com.itheima.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
@SpringBootTest //springboot整合单元测试的注解
class SpringbootMybatisQuickstartApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
public void testListUser(){
List<User> userList = userMapper.list();
userList.stream().forEach(user -> {
System.out.println(user);
});
}
@Test
public void testJdbc() throws Exception {
//1. 注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2. 获取连接对象
String url = "jdbc:mysql://localhost:3306/mybatis";
String username = "root";
String password = "1234";
Connection connection = DriverManager.getConnection(url, username, password);
//3. 获取执行SQL的对象Statement,执行SQL,返回结果
String sql = "select * from user";
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
//4. 封装结果数据
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);
}
//5. 释放资源
statement.close();
connection.close();
}
}
?输出:
?
?
?
?
?
?
?
?
(一)根据主键删除
?
若想获取删除了几条数据的返回值:
?
输出:0
(二)日志输出
?
?
?
?
(一)主键查询
?
解决方案一:给字段起别名,让别名与实体类属性一致
解决方案二:通过@Results,注释手动映射封装?
解决方案三:开启mybatis驼峰命令自动映射开关
?直接运行原始代码就可以
总结:
(二)条件查询
?
?
?Mapper接口全限定名可以 选中接口名称-copy reference-粘贴到namespace
?
?
?
?
?
?
?
?
?
?