目录
一、在IDEA中配置数据库项目环境
1.创建项目
2.选择依赖
二、在JAVA中进行操作建立与数据库的连接
1、配置数据源——让程序可以访问到
2.配置数据源——让idea可以访问到
三、JAVA已经成功连接数据库,现在编写增删改的代码
2.运行sql语句,创建数据库和表
3.实体模型Model
4.程序框架
5.数据访问层DAO
5.1、接口CRUD+(先做新接口)
5.2、DAO层实现类--JdbcTemplate
6.业务处理层
6.1、业务处理层接口
6.2、业务处理层实现类
7.测试新增
8.其他功能
8.1、DAo
8.1.1接口
8.1.2 Dao实现
8.2 业务层
8.2.1接口层
8.2.2实现层
四、测试其功能
1. 完整代码
2.运行代码
3.查看数据库
等待依赖下载完成,写入以下配置信息。包括驱动、数据源地址、数据源访问用户名和密码
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/testdb?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=123456
在database里选择Data souce再选择MySQL,
在这一步,我们需要准备三样东西 URL
,账户用户名
,密码
URL:表示跟数据库通信的地址。
用户名:自然就是拥有数据库权限的账户了,这里使用根用户root
。
密码:登录数据库需要用户名及对应的密码
填写主机名/地址、mysql用户名及密码,下载驱动完成后做链接测试,测试连接成功,点击ok,如下图
1.添加数据库和表
DROP DATABASE IF EXISTS `testdb`;
create database testdb;
Use testdb;
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`user_id` int NOT NULL AUTO_INCREMENT COMMENT '用户 ID',
`user_name` varchar(255) DEFAULT NULL COMMENT '用户名',
`status` varchar(255) DEFAULT NULL COMMENT '用户状态',
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
(先实现新增接口)
Repository注解Dao实现类
Resource注入JdbcTemplate
(先做新增)
@Service注解
UserDaoImpl代码
@Repository
public class UserDaoImpl implements UserDao {
@Resource
private JdbcTemplate jdbcTemplate;
@Resource
private NamedParameterJdbcTemplate namedParameterJdbcTemplate;
@Override
public int addUser(User user){
String sql= "INSERT into `user` (`user`.user_name,`user`.`status`) VALUES(?,?);";
int update= jdbcTemplate.update(sql,user.getUserName(),user.getStatus());
return update;
}
@Override
public int update(User user) {
String sql="UPDATE `user` SET status=? WHERE user_name=?;";
return jdbcTemplate.update(sql,user.getStatus(),user.getUserName());
}
@Override
public int delete(User user) {
String sql="DELETE FROM `user` where user_name=?;";
return jdbcTemplate.update(sql,user.getUserName());
}
@Override
public int count(User user) {
String sql="SELECT COUNT(*) FROM `user` where `status`=?;";
return jdbcTemplate.queryForObject(sql,Integer.class,user.getStatus());
}
@Override
public List getList(User user) {
String sql="SELECT * FROM `user` where `status`=?;";
return jdbcTemplate.query(sql,new BeanPropertyRowMapper(User.class),user.getStatus());
}
@Override
public User getUser(User user) {
String sql="SELECT * FROM `user` where user_id=?;";
return jdbcTemplate.queryForObject(sql,new BeanPropertyRowMapper(User.class),user.getUserId());
}
@Override
public void batchAddUser(List
UserService完整代码
public interface UserService {
/**
* 新增用户数据
*
* @param user
* @return
*/
public int addUser(User user);
/**更新*/
public int updateUser(User user);
/**删除*/
public int deleteUser(User user);
/**统计用户数量 */
public int countUser(User user);
/**查询*/
public List getUserList(User user);
//查询单个用户信息
public User getUser(User user);
//批量增加用户
public void batchAddUser(List
public class UserServiceTests {
// @Resource
// private JdbcTemplate jdbcTemplate;
@Autowired UserService userService;
@Test
void TestUser(){
User user=new User();
user.setUserName("小张");
user.setStatus("在线");
//新增一个用户
int i= userService.addUser(user);
System.out.println("新增用户成功");
//更新
User user1=new User();
user1.setUserName("小张1");
user1.setStatus("在线");
int u=userService.updateUser(user);
System.out.println("修改用户成功");
//批量新增
List