diff --git a/src/main/java/com/example/practice/config/Knife4jConfig.java b/src/main/java/com/example/practice/config/Knife4jConfig.java new file mode 100644 index 0000000..960f9f0 --- /dev/null +++ b/src/main/java/com/example/practice/config/Knife4jConfig.java @@ -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"))); + } +} + + + + + + + diff --git a/src/main/java/com/example/practice/controller/UserController.java b/src/main/java/com/example/practice/controller/UserController.java new file mode 100644 index 0000000..20fa63e --- /dev/null +++ b/src/main/java/com/example/practice/controller/UserController.java @@ -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 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); + } + + + +} diff --git a/src/main/java/com/example/practice/mapper/UserMapper.java b/src/main/java/com/example/practice/mapper/UserMapper.java index 9b38507..0337595 100644 --- a/src/main/java/com/example/practice/mapper/UserMapper.java +++ b/src/main/java/com/example/practice/mapper/UserMapper.java @@ -5,7 +5,7 @@ import org.apache.ibatis.annotations.Mapper; import java.util.List; -@Mapper // 将UserMapper的接口实现类对象生成,放入SpringIOC容器 UserMapperImpl userMapperImpl = new UserMapperImpl() +@Mapper // 生成当前UserMapper接口的实现类对象,并且把这个对象放到SpringIOC 容器中 public interface UserMapper { List selectAll(); diff --git a/src/main/java/com/example/practice/mapper/UserMapperImpl.java b/src/main/java/com/example/practice/mapper/UserMapperImpl.java deleted file mode 100644 index 5ba6160..0000000 --- a/src/main/java/com/example/practice/mapper/UserMapperImpl.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.example.practice.mapper; - -import com.example.practice.entity.User; -import com.example.practice.utils.SqlSessionFactoryUtils; -import org.apache.ibatis.session.SqlSession; - -import java.util.List; - -public class UserMapperImpl implements UserMapper { - - - @Override - public List selectAll() { - // Mybatis动态代理机制 - SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSession(); // 命名空间.sqlId - UserMapper userMapper = sqlSession.getMapper(UserMapper.class); - List list = userMapper.selectAll(); -// List list = sqlSession.selectList("com.example.practice.mapper.UserMapper.selectAll"); - return list; - } - - @Override - public User selectOne(Long id) { - SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSession(); - UserMapper userMapper = sqlSession.getMapper(UserMapper.class); - User user = userMapper.selectOne(id); -// User user = sqlSession.selectOne("com.example.practice.mapper.UserMapper.selectOne", 2); - return user; - } - - @Override - public int insert(User user) { - SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSession(); - UserMapper userMapper = sqlSession.getMapper(UserMapper.class); - int result = userMapper.insert(user); -// int result = sqlSession.insert("com.example.practice.mapper.UserMapper.insert", user); - if (result == 0) throw new RuntimeException("删除失败"); - sqlSession.commit(); - return result; - } - - @Override - public int update(User user) { - SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSession(); - UserMapper userMapper = sqlSession.getMapper(UserMapper.class); - int result = userMapper.update(user); -// int result = sqlSession.update("com.example.practice.mapper.UserMapper.update", user); - if (result == 0) throw new RuntimeException("删除失败"); - sqlSession.commit(); - return result; - } - - @Override - public int delete(Long id) { - SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSession(); - UserMapper userMapper = sqlSession.getMapper(UserMapper.class); - int result = userMapper.delete(id); -// int result = sqlSession.delete("com.example.practice.mapper.UserMapper.delete", 2); - if (result == 0) throw new RuntimeException("删除失败"); - sqlSession.commit(); - return result; - } -} diff --git a/src/main/java/com/example/practice/sqlsessionTest/SqlSessionTest.java b/src/main/java/com/example/practice/sqlsessionTest/SqlSessionTest.java deleted file mode 100644 index fbeb2fe..0000000 --- a/src/main/java/com/example/practice/sqlsessionTest/SqlSessionTest.java +++ /dev/null @@ -1,85 +0,0 @@ -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 { - - - UserMapper userMapper = new UserMapperImpl(); - List 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 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 list = sqlSession.selectList("fdsgfgd.selectList"); -// for (User user : list) { -// System.out.println(user); -// } -// } - -} diff --git a/src/main/java/com/example/practice/utils/SqlSessionFactoryUtils.java b/src/main/java/com/example/practice/utils/SqlSessionFactoryUtils.java deleted file mode 100644 index f599b04..0000000 --- a/src/main/java/com/example/practice/utils/SqlSessionFactoryUtils.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.example.practice.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 = "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; - } - - - - -} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml new file mode 100644 index 0000000..60a001f --- /dev/null +++ b/src/main/resources/application.yml @@ -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 diff --git a/src/main/resources/mybatis-config.xml b/src/main/resources/mybatis-config.xml deleted file mode 100644 index 9be28de..0000000 --- a/src/main/resources/mybatis-config.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/test/java/com/draft/UserMapperImpl.java b/src/test/java/com/draft/UserMapperImpl.java new file mode 100644 index 0000000..57d031f --- /dev/null +++ b/src/test/java/com/draft/UserMapperImpl.java @@ -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 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; +// } +//} diff --git a/src/test/java/com/draft/mybatis-config.xml b/src/test/java/com/draft/mybatis-config.xml new file mode 100644 index 0000000..87c972d --- /dev/null +++ b/src/test/java/com/draft/mybatis-config.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/java/com/draft/sqlsessionTest/SqlSessionTest.java b/src/test/java/com/draft/sqlsessionTest/SqlSessionTest.java new file mode 100644 index 0000000..cb160cb --- /dev/null +++ b/src/test/java/com/draft/sqlsessionTest/SqlSessionTest.java @@ -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 users = userMapper.selectAll(); +// for (User user : users) { +// System.out.println(user); +// } +// +//// List 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 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 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 list = sqlSession.selectList("fdsgfgd.selectList"); +//// for (User user : list) { +//// System.out.println(user); +//// } +//// } +// +//} diff --git a/src/test/java/com/draft/utils/SqlSessionFactoryUtils.java b/src/test/java/com/draft/utils/SqlSessionFactoryUtils.java new file mode 100644 index 0000000..0489e96 --- /dev/null +++ b/src/test/java/com/draft/utils/SqlSessionFactoryUtils.java @@ -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; +// } +// +// +// +// +//}