Compare commits
4 Commits
yyt
...
3eaf3373aa
Author | SHA1 | Date | |
---|---|---|---|
3eaf3373aa | |||
cfcda48e34 | |||
8a34d3c7ca | |||
af500ad757 |
8
pom.xml
8
pom.xml
@ -72,12 +72,14 @@
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- knife4j -->
|
||||
<dependency>
|
||||
<groupId>com.github.code-cxz</groupId>
|
||||
<artifactId>custom-toolkit</artifactId>
|
||||
<version>v1.0.0</version>
|
||||
<groupId>com.github.xiaoymin</groupId>
|
||||
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
|
||||
<version>4.4.0</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
34
src/main/java/com/example/practice/config/Knife4jConfig.java
Normal file
34
src/main/java/com/example/practice/config/Knife4jConfig.java
Normal file
@ -0,0 +1,34 @@
|
||||
package com.example.practice.config;
|
||||
|
||||
import io.swagger.v3.oas.models.OpenAPI;
|
||||
import io.swagger.v3.oas.models.info.Info;
|
||||
import io.swagger.v3.oas.models.info.License;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
/**
|
||||
* Knife4j 接口文档配置
|
||||
* 官网地址
|
||||
*/
|
||||
@Configuration
|
||||
public class Knife4jConfig {
|
||||
|
||||
@Bean
|
||||
public OpenAPI customOpenAPI() {
|
||||
return new OpenAPI()
|
||||
.info(new Info()
|
||||
.title("cxz")
|
||||
.version("1.0")
|
||||
.description("SpringBoot速成")
|
||||
.termsOfService("http://doc.xiaominfo.com")
|
||||
.license(new License().name("Apache 2.0")
|
||||
.url("http://doc.xiaominfo.com")));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -0,0 +1,55 @@
|
||||
package com.example.practice.controller;
|
||||
|
||||
|
||||
import com.example.practice.entity.User;
|
||||
import com.example.practice.mapper.UserMapper;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController // @Controller + @ResponseBody
|
||||
@RequestMapping("/user")
|
||||
public class UserController {
|
||||
|
||||
@Resource
|
||||
UserMapper userMapper;
|
||||
|
||||
@GetMapping("/queryAll")
|
||||
public List<User> queryAll() {
|
||||
return userMapper.selectAll();
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/test")
|
||||
public String test() {
|
||||
return "启动成功";
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/add")
|
||||
public int add(@RequestBody User user) {
|
||||
return userMapper.insert(user);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/update")
|
||||
public int update(@RequestBody User user) {
|
||||
return userMapper.update(user);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/delete")
|
||||
public int delete(Long id) {
|
||||
return userMapper.delete(id);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/queryOne")
|
||||
public User queryOne(Long id) {
|
||||
return userMapper.selectOne(id);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
22
src/main/java/com/example/practice/mapper/UserMapper.java
Normal file
22
src/main/java/com/example/practice/mapper/UserMapper.java
Normal file
@ -0,0 +1,22 @@
|
||||
package com.example.practice.mapper;
|
||||
|
||||
import com.example.practice.entity.User;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper // 生成当前UserMapper接口的实现类对象,并且把这个对象放到SpringIOC 容器中
|
||||
public interface UserMapper {
|
||||
|
||||
List<User> selectAll();
|
||||
|
||||
User selectOne(Long id);
|
||||
|
||||
int insert(User user);
|
||||
|
||||
int update(User user);
|
||||
|
||||
int delete(Long id);
|
||||
|
||||
}
|
||||
|
@ -1,114 +0,0 @@
|
||||
package com.example.practice.sqlsession;
|
||||
|
||||
import com.example.practice.entity.User;
|
||||
import org.apache.ibatis.io.Resources;
|
||||
import org.apache.ibatis.session.SqlSession;
|
||||
import org.apache.ibatis.session.SqlSessionFactory;
|
||||
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.List;
|
||||
|
||||
public class SqlSessionTest {
|
||||
|
||||
|
||||
public static void main(String[] args) throws IOException {
|
||||
String path = "mybatis-config.xml";
|
||||
// 文件字节流
|
||||
InputStream is = Resources.getResourceAsStream(path);
|
||||
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
|
||||
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
|
||||
// 数据库连接对象,类似于JDBC中的Connection对象, 每调用一次都会创建一次(使用连接池可进行复用)
|
||||
SqlSession sqlSession = sqlSessionFactory.openSession();
|
||||
|
||||
|
||||
|
||||
// 插入
|
||||
User insertUser = new User();
|
||||
insertUser.setId(null);
|
||||
insertUser.setNickName("管理员2");
|
||||
insertUser.setPhoneNumber("12345678901");
|
||||
insertUser.setUserAccount("admin2");
|
||||
insertUser.setUserPassword("12345678");
|
||||
insertUser.setUserRole("admin");
|
||||
insert(sqlSession, insertUser);
|
||||
|
||||
|
||||
// 根据id删除
|
||||
delete(sqlSession, 12L);
|
||||
|
||||
|
||||
// 修改
|
||||
User updateUser = new User();
|
||||
updateUser.setId(11L);
|
||||
updateUser.setNickName("管理员dsfaf2");
|
||||
updateUser.setPhoneNumber("fdsdsgsfdsf");
|
||||
updateUser.setUserAccount("fds");
|
||||
updateUser.setUserPassword("12345678");
|
||||
updateUser.setUserRole("admin");
|
||||
update(sqlSession, updateUser);
|
||||
|
||||
|
||||
// 查询
|
||||
selectList(sqlSession);
|
||||
|
||||
// 根据id查询
|
||||
selectOne(sqlSession, 4L);
|
||||
|
||||
}
|
||||
|
||||
|
||||
private static void insert(SqlSession sqlSession, User user) {
|
||||
try {
|
||||
int result = sqlSession.insert("fdeawgryer.insert", user);
|
||||
if (result == 0) throw new RuntimeException("添加失败");
|
||||
sqlSession.commit();
|
||||
} catch (Exception e) {
|
||||
sqlSession.rollback();
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static void delete(SqlSession sqlSession, Long id) {
|
||||
try {
|
||||
int result = sqlSession.delete("fdeawgryer.delete", id);
|
||||
if (result == 0) throw new RuntimeException("删除失败");
|
||||
sqlSession.commit();
|
||||
} catch (Exception e) {
|
||||
sqlSession.rollback();
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static void update(SqlSession sqlSession, User user) {
|
||||
try {
|
||||
int result = sqlSession.update("fdeawgryer.update", user);
|
||||
if (result == 0) throw new RuntimeException("更新失败");
|
||||
sqlSession.commit();
|
||||
} catch (Exception e) {
|
||||
sqlSession.rollback();
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static void selectList(SqlSession sqlSession) {
|
||||
List<User> userList = sqlSession.selectList("fdeawgryer.dfsakdf");
|
||||
for (User user : userList) {
|
||||
System.out.println(user);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static void selectOne(SqlSession sqlSession, Long id) {
|
||||
User user = sqlSession.selectOne("fdeawgryer.selectOne", id);
|
||||
System.out.println(user);
|
||||
}
|
||||
|
||||
}
|
10
src/main/resources/application.yml
Normal file
10
src/main/resources/application.yml
Normal file
@ -0,0 +1,10 @@
|
||||
spring:
|
||||
datasource:
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://localhost:3306/practice
|
||||
username: root
|
||||
password: 123456
|
||||
|
||||
|
||||
mybatis:
|
||||
mapper-locations: classpath:mapper/*.xml
|
@ -2,8 +2,8 @@
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="sdfdsafdfd">
|
||||
<select id="selectList" resultType="com.example.practice.entity.User">
|
||||
<mapper namespace="com.example.practice.mapper.UserMapper">
|
||||
<select id="selectAll" resultType="com.example.practice.entity.User">
|
||||
select * from user
|
||||
</select>
|
||||
|
||||
@ -24,9 +24,6 @@
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
|
||||
<!--SQL映射文件-->
|
@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE configuration
|
||||
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-config.dtd">
|
||||
<configuration>
|
||||
<environments default="dev">
|
||||
<environment id="dev">
|
||||
<transactionManager type="JDBC"/>
|
||||
<dataSource type="POOLED">
|
||||
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
|
||||
<property name="url" value="jdbc:mysql://localhost:3306/practice"/>
|
||||
<property name="username" value="root"/>
|
||||
<property name="password" value="123456"/>
|
||||
</dataSource>
|
||||
</environment>
|
||||
</environments>
|
||||
|
||||
<mappers>
|
||||
<mapper resource="mapper/UserMapper.xml"/>
|
||||
</mappers>
|
||||
|
||||
</configuration>
|
||||
<!--Mybatis核心配置文件-->
|
51
src/test/java/com/draft/UserMapperImpl.java
Normal file
51
src/test/java/com/draft/UserMapperImpl.java
Normal file
@ -0,0 +1,51 @@
|
||||
//package com.draft;
|
||||
//
|
||||
//import com.example.practice.entity.User;
|
||||
//import com.example.practice.mapper.UserMapper;
|
||||
//import com.example.practice.utils.SqlSessionFactoryUtils;
|
||||
//import org.apache.ibatis.session.SqlSession;
|
||||
//
|
||||
//import java.util.List;
|
||||
//
|
||||
//public class UserMapperImpl implements UserMapper {
|
||||
//
|
||||
//
|
||||
// SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSession();
|
||||
//
|
||||
//
|
||||
// UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
|
||||
//
|
||||
//
|
||||
// @Override
|
||||
// public List<User> selectAll() {
|
||||
// // Mybatis动态代理机制
|
||||
// return userMapper.selectAll();
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public User selectOne(Long id) {
|
||||
// User user = userMapper.selectOne(id);
|
||||
// return user;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public int insert(User user) {
|
||||
// int result = userMapper.insert(user);
|
||||
// sqlSession.commit();
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public int update(User user) {
|
||||
// int result = userMapper.update(user);
|
||||
// sqlSession.commit();
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public int delete(Long id) {
|
||||
// int result = userMapper.delete(id);
|
||||
// sqlSession.commit();
|
||||
// return result;
|
||||
// }
|
||||
//}
|
28
src/test/java/com/draft/mybatis-config.xml
Normal file
28
src/test/java/com/draft/mybatis-config.xml
Normal file
@ -0,0 +1,28 @@
|
||||
<!--<?xml version="1.0" encoding="UTF-8" ?>-->
|
||||
<!--<!DOCTYPE configuration-->
|
||||
<!-- PUBLIC "-//mybatis.org//DTD Config 3.0//EN"-->
|
||||
<!-- "http://mybatis.org/dtd/mybatis-3-config.dtd">-->
|
||||
|
||||
<!--<configuration>-->
|
||||
|
||||
<!-- <environments default="dev">-->
|
||||
|
||||
<!-- <environment id="dev">-->
|
||||
<!-- <transactionManager type="JDBC"/>-->
|
||||
<!-- <dataSource type="POOLED">-->
|
||||
<!-- <property name="driver" value="com.mysql.cj.jdbc.Driver"/>-->
|
||||
<!-- <property name="url" value="jdbc:mysql://localhost:3306/practice"/>-->
|
||||
<!-- <property name="username" value="root"/>-->
|
||||
<!-- <property name="password" value="123456"/>-->
|
||||
<!-- </dataSource>-->
|
||||
<!-- </environment>-->
|
||||
|
||||
<!-- </environments>-->
|
||||
|
||||
<!-- <mappers>-->
|
||||
<!-- <mapper resource="mapper/UserMapper.xml"/>-->
|
||||
<!-- </mappers>-->
|
||||
|
||||
<!--</configuration>-->
|
||||
|
||||
|
108
src/test/java/com/draft/sqlsessionTest/SqlSessionTest.java
Normal file
108
src/test/java/com/draft/sqlsessionTest/SqlSessionTest.java
Normal file
@ -0,0 +1,108 @@
|
||||
//package com.example.practice.sqlsessionTest;
|
||||
//
|
||||
//import com.example.practice.entity.User;
|
||||
//import com.example.practice.mapper.UserMapper;
|
||||
//import com.example.practice.mapper.UserMapperImpl;
|
||||
//
|
||||
//import java.io.IOException;
|
||||
//import java.util.List;
|
||||
//
|
||||
//public class SqlSessionTest {
|
||||
//
|
||||
// public static void main(String[] args) throws IOException {
|
||||
//
|
||||
//
|
||||
//// com.example.practice.mapper.UserMapper userMapper = new com.draft.UserMapperImpl();
|
||||
//
|
||||
// UserMapper userMapper = new UserMapperImpl();
|
||||
// List<User> users = userMapper.selectAll();
|
||||
// for (User user : users) {
|
||||
// System.out.println(user);
|
||||
// }
|
||||
//
|
||||
//// List<Object> list = sqlSession.selectList("fdgggsdd.selectAll");
|
||||
//// for (Object o : list) {
|
||||
//// System.out.println(o);
|
||||
//// }
|
||||
//// User user = new User();
|
||||
//// user.setId(null);
|
||||
//// user.setNickName("张三");
|
||||
//// user.setPhoneNumber("12345678901");
|
||||
//// user.setUserAccount("123456");
|
||||
//// user.setUserPassword("123456");
|
||||
//// user.setUserRole("user");
|
||||
////
|
||||
//// sqlSession.insert("fdgggsdd.insert", user);
|
||||
//// sqlSession.commit();
|
||||
//
|
||||
//// UserMapper userMapper = new UserMapperImpl();
|
||||
//// List<User> users = userMapper.selectAll();
|
||||
//// for (User user : users) {
|
||||
//// System.out.println(user);
|
||||
//// }
|
||||
//
|
||||
//// User user = userMapper.selectOne(2L);
|
||||
//// System.out.println(user);
|
||||
////
|
||||
//// userMapper.delete(2L);
|
||||
////
|
||||
////
|
||||
//// User insertUser = new User();
|
||||
//// userMapper.insert(insertUser);
|
||||
////
|
||||
////
|
||||
//// User updateUser = new User();
|
||||
//// userMapper.update(updateUser);
|
||||
//
|
||||
//
|
||||
//// SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSession();
|
||||
//
|
||||
//// List<User> list = sqlSession.selectList("fdsgfgd.selectList");
|
||||
//// for (User user : list) {
|
||||
//// System.out.println(user);
|
||||
//// }
|
||||
////
|
||||
//// User user = sqlSession.selectOne("fdsgfgd.selectOne", 2);
|
||||
//// System.out.println(user);
|
||||
////
|
||||
////
|
||||
//// int delete = sqlSession.delete("fdsgfgd.delete", 2);
|
||||
//// if (delete == 0) throw new RuntimeException("删除失败");
|
||||
//// sqlSession.commit();
|
||||
////
|
||||
////
|
||||
//// User user = new User();
|
||||
//// user.setId(null);
|
||||
//// user.setNickName("张三");
|
||||
//// user.setPhoneNumber("12345678901");
|
||||
//// user.setUserAccount("123456");
|
||||
//// user.setUserPassword("123456");
|
||||
//// user.setUserRole("user");
|
||||
//// user.setMoney(10000);
|
||||
//// sqlSession.insert("fdsgfgd.insert", user);
|
||||
//// sqlSession.commit();
|
||||
////
|
||||
////
|
||||
//// User user = new User();
|
||||
//// user.setId(9L);
|
||||
//// user.setNickName("张三dfsafda");
|
||||
//// user.setPhoneNumber("12345678901");
|
||||
//// user.setUserAccount("123456");
|
||||
//// user.setUserPassword("123456");
|
||||
//// user.setUserRole("user");
|
||||
//// user.setMoney(10000);
|
||||
//// sqlSession.update("fdsgfgd.update", user);
|
||||
//// sqlSession.commit();
|
||||
//
|
||||
//
|
||||
// }
|
||||
//
|
||||
//
|
||||
//// public static void selectList() {
|
||||
//// List<User> list = sqlSession.selectList("fdsgfgd.selectList");
|
||||
//// for (User user : list) {
|
||||
//// System.out.println(user);
|
||||
//// }
|
||||
//// }
|
||||
//
|
||||
//}
|
43
src/test/java/com/draft/utils/SqlSessionFactoryUtils.java
Normal file
43
src/test/java/com/draft/utils/SqlSessionFactoryUtils.java
Normal file
@ -0,0 +1,43 @@
|
||||
//package com.draft.utils;
|
||||
//
|
||||
//import org.apache.ibatis.io.Resources;
|
||||
//import org.apache.ibatis.session.SqlSession;
|
||||
//import org.apache.ibatis.session.SqlSessionFactory;
|
||||
//import org.apache.ibatis.session.SqlSessionFactoryBuilder;
|
||||
//
|
||||
//import java.io.IOException;
|
||||
//import java.io.InputStream;
|
||||
//
|
||||
//public class SqlSessionFactoryUtils {
|
||||
//
|
||||
// private static SqlSessionFactory sqlSessionFactory;
|
||||
//
|
||||
// // 初始化SqlSessionFactory对象,表示需要操作哪个数据库
|
||||
// static {
|
||||
// // 加载配置文件(转成字节流的形式)
|
||||
// String resourcePath = "com/draft/mybatis-config.xml";
|
||||
// InputStream is = null;
|
||||
// try {
|
||||
// is = Resources.getResourceAsStream(resourcePath);
|
||||
// } catch (IOException e) {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
//
|
||||
// // SqlSessionFactoryBuilder负责创建SqlSessionFactory对象
|
||||
// // SqlSessionFactory负责生产SqlSession对象
|
||||
// // SqlSession对象是负责连接数据库, 每执行一条sql语句,就会创建或者连接池中获取一个对象
|
||||
// SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
|
||||
// sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
|
||||
// }
|
||||
//
|
||||
//
|
||||
// // 获取数据库连接对象
|
||||
// public static SqlSession getSqlSession() {
|
||||
// SqlSession sqlSession = sqlSessionFactory.openSession();
|
||||
// return sqlSession;
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//}
|
Reference in New Issue
Block a user