This commit is contained in:
2025-08-18 13:08:02 +08:00
commit b382150514
18 changed files with 1207 additions and 0 deletions

View File

@ -0,0 +1,13 @@
package com.example.practice;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class PracticeApplication {
public static void main(String[] args) {
SpringApplication.run(PracticeApplication.class, args);
}
}

View File

@ -0,0 +1,24 @@
package com.example.practice.controller;
import com.example.practice.entity.User;
import com.example.practice.mapper.UserMapper;
import com.example.practice.mapper.UserMapperImpl;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/user")
public class UserController {
UserMapper userMapper = new UserMapperImpl();
@RequestMapping("/query")
public List<User> query() {
return userMapper.selectList();
}
}

View File

@ -0,0 +1,122 @@
package com.example.practice.entity;
public class User {
/**
* id
*/
private Long id;
/**
* 昵称
*/
private String nickName;
/**
* 手机号
*/
private String phoneNumber;
/**
* 账号
*/
private String userAccount;
/**
* 密码
*/
private String userPassword;
/**
* 角色
*/
private String userRole;
/**
* 存款
*/
private Integer money;
@Override
public String toString() {
return "User{" +
"id=" + id +
", nickName='" + nickName + '\'' +
", phoneNumber='" + phoneNumber + '\'' +
", userAccount='" + userAccount + '\'' +
", userPassword='" + userPassword + '\'' +
", userRole='" + userRole + '\'' +
", money=" + money +
'}';
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getUserAccount() {
return userAccount;
}
public void setUserAccount(String userAccount) {
this.userAccount = userAccount;
}
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
public String getUserRole() {
return userRole;
}
public void setUserRole(String userRole) {
this.userRole = userRole;
}
public Integer getMoney() {
return money;
}
public void setMoney(Integer money) {
this.money = money;
}
public User(Long id, String nickName, String phoneNumber, String userAccount, String userPassword, String userRole, Integer money) {
this.id = id;
this.nickName = nickName;
this.phoneNumber = phoneNumber;
this.userAccount = userAccount;
this.userPassword = userPassword;
this.userRole = userRole;
this.money = money;
}
public User() {
}
}

View File

@ -0,0 +1,19 @@
package com.example.practice.mapper;
import com.example.practice.entity.User;
import java.util.List;
public interface UserMapper {
int insert (User user);
int delete(Long id);
int update(User user);
User selectOne(Long id);
List<User> selectList();
}

View File

@ -0,0 +1,74 @@
package com.example.practice.mapper;
import com.example.practice.entity.User;
import com.example.practice.utils.SqlSessionFactoryUtil;
import org.apache.ibatis.session.SqlSession;
import java.util.List;
public class UserMapperImpl implements UserMapper {
@Override
public int insert(User user) {
SqlSession sqlSession = SqlSessionFactoryUtil.getSqlSession();
try {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
int result = userMapper.insert(user);
if (result == 0) throw new RuntimeException("添加失败");
sqlSession.commit();
} catch (Exception e) {
sqlSession.rollback();
} finally {
sqlSession.close();
}
return 1;
}
@Override
public int delete(Long id) {
SqlSession sqlSession = SqlSessionFactoryUtil.getSqlSession();
try {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
int result = userMapper.delete(id);
if (result == 0) throw new RuntimeException("删除失败");
sqlSession.commit();
} catch (Exception e) {
sqlSession.rollback();
} finally {
sqlSession.close();
}
return 1;
}
@Override
public int update(User user) {
SqlSession sqlSession = SqlSessionFactoryUtil.getSqlSession();
try {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
int result = userMapper.update(user);
if (result == 0) throw new RuntimeException("更新失败");
sqlSession.commit();
} catch (Exception e) {
sqlSession.rollback();
} finally {
sqlSession.close();
}
return 1;
}
@Override
public User selectOne(Long id) {
SqlSession sqlSession = SqlSessionFactoryUtil.getSqlSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User user = userMapper.selectOne(id);
return user;
}
@Override
public List<User> selectList() {
SqlSession sqlSession = SqlSessionFactoryUtil.getSqlSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
List<User> users = userMapper.selectList();
return users;
}
}

View File

@ -0,0 +1,103 @@
package com.example.practice.sqlsession;
import com.example.practice.entity.User;
import com.example.practice.utils.SqlSessionFactoryUtil;
import org.apache.ibatis.session.SqlSession;
import java.io.IOException;
import java.util.List;
public class SqlSessionPlusTest {
public static void main(String[] args) throws IOException {
SqlSession sqlSession = SqlSessionFactoryUtil.getSqlSession();
// 插入
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,60 @@
package com.example.practice.sqlsession;
import com.example.practice.entity.User;
import com.example.practice.mapper.UserMapper;
import com.example.practice.mapper.UserMapperImpl;
import com.example.practice.utils.SqlSessionFactoryUtil;
import org.apache.ibatis.session.SqlSession;
import java.io.IOException;
import java.util.List;
public class SqlSessionSPlusTest {
private static final UserMapper userMapper = new UserMapperImpl();
public static void main(String[] args) throws IOException {
SqlSession sqlSession = SqlSessionFactoryUtil.getSqlSession();
List<User> userList = sqlSession.selectList("fdeawgryer.dfsakdf");
userList.forEach(System.out::println);
// // 插入
// User insertUser = new User();
// insertUser.setId(null);
// insertUser.setNickName("管理员2");
// insertUser.setPhoneNumber("12345678901");
// insertUser.setUserAccount("admin2");
// insertUser.setUserPassword("12345678");
// insertUser.setUserRole("admin");
// userMapper.insert(insertUser);
//
//
// // 根据id删除
// userMapper.delete(12L);
//
//
// // 修改
// User updateUser = new User();
// updateUser.setId(11L);
// updateUser.setNickName("管理员dsfaf2");
// updateUser.setPhoneNumber("fdsdsgsfdsf");
// updateUser.setUserAccount("fds");
// updateUser.setUserPassword("12345678");
// updateUser.setUserRole("admin");
// userMapper.update(updateUser);
// // 查询
// List<User> users = userMapper.selectList();
// users.forEach(System.out::println);
// // 根据id查询
// userMapper.selectOne(4L);
}
}

View File

@ -0,0 +1,114 @@
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,34 @@
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 SqlSessionFactoryUtil {
private static SqlSessionFactory sqlSessionFactory;
static {
String path = "mybatis-config.xml";
// 文件字节流
InputStream is = null;
try {
is = Resources.getResourceAsStream(path);
} catch (IOException e) {
e.printStackTrace();
}
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
}
public static SqlSession getSqlSession() {
return sqlSessionFactory.openSession();
}
}

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.practice.mapper.UserMapper">
<select id="selectList" resultType="com.example.practice.entity.User">
select * from user
</select>
<select id="selectOne" resultType="com.example.practice.entity.User">
select * from user where id = #{id}
</select>
<insert id="insert">
insert into user values (#{id}, #{nickName}, #{phoneNumber}, #{userAccount}, #{userPassword}, #{userRole}, #{money})
</insert>
<delete id="delete">
delete from user where id = #{id}
</delete>
<update id="update">
update user set nickName = #{nickName}, phoneNumber = #{phoneNumber}, userAccount = #{userAccount}, userPassword = #{userPassword}, userRole = #{userRole}, money = #{money} where id = #{id}
</update>
</mapper>
<!--SQL映射文件-->

View File

@ -0,0 +1,23 @@
<?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,13 @@
package com.example.practice;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class PracticeApplicationTests {
@Test
void contextLoads() {
}
}