Compare commits

..

4 Commits

Author SHA1 Message Date
3eaf3373aa update 8.20 2025-08-20 22:57:52 +08:00
cfcda48e34 update 8.20 2025-08-20 19:31:43 +08:00
8a34d3c7ca second 2025-08-19 21:00:48 +08:00
af500ad757 first 2025-08-18 20:07:04 +08:00
12 changed files with 359 additions and 146 deletions

View File

@ -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>

View 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")));
}
}

View File

@ -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);
}
}

View 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);
}

View File

@ -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);
}
}

View 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

View File

@ -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映射文件-->

View File

@ -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核心配置文件-->

View 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;
// }
//}

View 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>-->

View 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);
//// }
//// }
//
//}

View 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;
// }
//
//
//
//
//}