使用 db.properties 配置数据库连接使用 resultMap 实现查询

main
wangcong 1 day ago
parent 2983302939
commit a27c99299f

@ -5,21 +5,31 @@
<mapper namespace="com.ssm.mapper.UserMapper">
<!-- 查询所有用户 -->
<select id="findAllUser" resultType="com.ssm.entity.User">
<!-- 1. 定义 resultMap映射数据库列名到实体类属性 -->
<resultMap id="userResultMap" type="com.ssm.entity.User">
<id column="id" property="id"/>
<result column="username" property="username"/>
<result column="userpass" property="userpass"/>
<result column="truename" property="truename"/>
<result column="phone" property="phone"/>
</resultMap>
<!-- 2. 查询所有用户(使用 resultMap -->
<select id="findAllUser" resultMap="userResultMap">
SELECT * FROM user
</select>
<!-- 根据ID查询用户 -->
<select id="findUserById" resultType="com.ssm.entity.User" parameterType="int">
<!-- 3. 根据ID查询用户(使用 resultMap -->
<select id="findUserById" resultMap="userResultMap" parameterType="int">
SELECT * FROM user WHERE id = #{id}
</select>
<!-- 添加用户 -->
<!-- 之前的增/删/改代码保留 -->
<insert id="addUser" parameterType="com.ssm.entity.User">
INSERT INTO user (username, userpass, truename, phone)
VALUES (#{username}, #{userpass}, #{truename}, #{phone})
INSERT INTO user(username,userpass,truename,phone)
VALUES(#{username},#{userpass},#{truename},#{phone})
</insert>
<!-- 修改用户信息 -->
<update id="updateUser" parameterType="com.ssm.entity.User">
UPDATE user
SET username = #{username},
@ -29,8 +39,8 @@
WHERE id = #{id}
</update>
<!-- 根据ID删除用户 -->
<delete id="deleteUserById" parameterType="int">
DELETE FROM user WHERE id = #{id}
</delete>
</mapper>

@ -5,6 +5,7 @@ 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.util.List;
public class TestUser {
@ -14,30 +15,31 @@ public class TestUser {
try (SqlSession session = factory.openSession()) {
// 1. 查询所有
System.out.println("===== 组长:查询所有用户 =====");
List<User> list = session.selectList("com.ssm.mapper.UserMapper.findAllUser");
for (User u : list) {
System.out.println(u);
// ========== 第13次任务用 resultMap 查询 ==========
// 1. 查询所有用户
System.out.println("===== 组长:查询所有用户(使用 resultMap =====");
List<User> allUsers = session.selectList("com.ssm.mapper.UserMapper.findAllUser");
for (User user : allUsers) {
System.out.println(user);
}
// 2. 根据ID查
System.out.println("\n===== 组长按ID查询 =====");
User u = session.selectOne("com.ssm.mapper.UserMapper.findUserById", 1);
System.out.println(u);
// 2. 根据ID查询用户
System.out.println("\n===== 组长按ID查询用户ID=1使用 resultMap =====");
User userById = session.selectOne("com.ssm.mapper.UserMapper.findUserById", 1);
System.out.println(userById);
// ====================== 3. 组长:添加用户 ======================
// ========== 之前的增删改代码可以保留不影响第13次任务 ==========
// 添加用户
User newUser = new User();
newUser.setUsername("zuzhang");
newUser.setUserpass("123456");
newUser.setTruename("组长");
newUser.setPhone("13800009999");
int rows = session.insert("com.ssm.mapper.UserMapper.addUser", newUser);
session.commit();
System.out.println("\n✅ 组长添加用户成功!行数:" + rows);
// 1. 修改用户以ID=11为例修改刚才添加的组长账号
// 修改用户
User updateUser = new User();
updateUser.setId(11);
updateUser.setUsername("leader_2026");
@ -48,7 +50,7 @@ public class TestUser {
session.commit();
System.out.println("✅ 组长修改用户成功!影响行数:" + updateRows);
// 2. 删除用户测试用比如删除ID=11的用户或其他测试用户
// 删除用户
int deleteRows = session.delete("com.ssm.mapper.UserMapper.deleteUserById", 11);
session.commit();
System.out.println("✅ 组长删除用户成功!影响行数:" + deleteRows);

@ -4,14 +4,18 @@
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 1. 引入外部 db.properties 配置文件 -->
<properties resource="db.properties"/>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/ssm_ffms1?useSSL=false&amp;serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
<!-- 2. 使用 db.properties 中的配置,不再硬编码 -->
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
@ -25,9 +29,5 @@
<mapper resource="com/ssm/mapper/ExpenseMapper.xml"/>
<!-- 组员C -->
<mapper resource="com/ssm/mapper/IncomeMapper.xml"/>
<!-- 组员D -->
<mapper resource="com/ssm/mapper/StockAccountMapper.xml"/>
<mapper resource="com/ssm/mapper/StockMapper.xml"/>
</mappers>
</configuration>

@ -0,0 +1,4 @@
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3307/ssm_ffms1?serverTimezone=Asia/Shanghai&useSSL=false
username=root
password=123456
Loading…
Cancel
Save