请用Mybatis框架完成对寝室人员信息进行管理。其中,寝室人员的信息包括姓名、床位号(或学号)、性别、年龄、专业等基本信息。实现对人员信息的增加、删除、修改等基本操作。(提示:可参考“第5、6章Mybatis的基本操作)要求连接数据库

时间: 2023-12-21 17:05:13 浏览: 13
好的,下面是一个完整的示例代码,包括了连接数据库的部分。 首先,我们需要创建一个MySQL数据库,并在其中创建一个名为`dormitory_member`的表,用于存储寝室人员信息。表结构如下: ```sql CREATE TABLE `dormitory_member` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(32) NOT NULL, `bed_number` varchar(16) NOT NULL, `gender` varchar(8) NOT NULL, `age` int(11) NOT NULL, `major` varchar(32) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ``` 接下来,我们需要在Mybatis的配置文件中配置数据库连接信息。假设我们的配置文件名为`mybatis-config.xml`,代码如下: ```xml <?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="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mybatis_test?useSSL=false"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/example/mapper/DormitoryMemberMapper.xml"/> </mappers> </configuration> ``` 其中,`dataSource`标签中的`url`、`username`和`password`属性需要根据实际情况进行修改。 接着,我们需要定义一个实体类来表示寝室人员信息。假设我们定义的实体类名为`DormitoryMember`,代码如下: ```java public class DormitoryMember { private int id; private String name; private String bedNumber; private String gender; private int age; private String major; // getter and setter methods } ``` 然后,我们需要创建一个Mapper接口来定义对寝室人员信息的操作。假设我们定义的Mapper接口名为`DormitoryMemberMapper`,代码如下: ```java public interface DormitoryMemberMapper { void addDormitoryMember(DormitoryMember member); void updateDormitoryMember(DormitoryMember member); void deleteDormitoryMember(int id); DormitoryMember getDormitoryMemberById(int id); List<DormitoryMember> getAllDormitoryMembers(); } ``` 接着,我们需要编写Mapper接口的对应的XML文件来实现具体的数据库操作。假设我们的XML文件名为`DormitoryMemberMapper.xml`,代码如下: ```xml <mapper namespace="com.example.mapper.DormitoryMemberMapper"> <insert id="addDormitoryMember" parameterType="com.example.entity.DormitoryMember"> insert into dormitory_member(name, bed_number, gender, age, major) values(#{name}, #{bedNumber}, #{gender}, #{age}, #{major}) </insert> <update id="updateDormitoryMember" parameterType="com.example.entity.DormitoryMember"> update dormitory_member set name = #{name}, bed_number = #{bedNumber}, gender = #{gender}, age = #{age}, major = #{major} where id = #{id} </update> <delete id="deleteDormitoryMember" parameterType="int"> delete from dormitory_member where id = #{id} </delete> <select id="getDormitoryMemberById" parameterType="int" resultType="com.example.entity.DormitoryMember"> select * from dormitory_member where id = #{id} </select> <select id="getAllDormitoryMembers" resultType="com.example.entity.DormitoryMember"> select * from dormitory_member </select> </mapper> ``` 最后,我们需要通过Mybatis框架来调用Mapper接口中定义的方法来实现对寝室人员信息的管理。代码如下: ```java // 创建SqlSessionFactory对象 String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); // 获取SqlSession对象 SqlSession sqlSession = sqlSessionFactory.openSession(); // 获取Mapper接口的代理对象 DormitoryMemberMapper mapper = sqlSession.getMapper(DormitoryMemberMapper.class); // 调用Mapper接口的方法来操作数据库 DormitoryMember member = new DormitoryMember(); member.setName("张三"); member.setBedNumber("101"); member.setGender("男"); member.setAge(20); member.setMajor("计算机科学与技术"); mapper.addDormitoryMember(member); member.setId(1); member.setName("李四"); mapper.updateDormitoryMember(member); mapper.deleteDormitoryMember(1); member = mapper.getDormitoryMemberById(2); System.out.println(member.getName()); List<DormitoryMember> members = mapper.getAllDormitoryMembers(); for (DormitoryMember m : members) { System.out.println(m.getName()); } // 关闭SqlSession对象 sqlSession.close(); ``` 注意,在运行代码之前需要先将MySQL数据库启动,并创建好对应的数据库和表。

相关推荐

最新推荐

recommend-type

Java的MyBatis框架中Mapper映射配置的使用及原理解析

Mapper用于映射SQL语句,可以说是MyBatis操作数据库的核心特性之一,这里我们来讨论Java的MyBatis框架中Mapper映射配置的使用及原理解析,包括对mapper的xml配置文件的读取流程解读.
recommend-type

Spring boot整合Mybatis实现级联一对多CRUD操作的完整步骤

主要给大家介绍了关于Spring boot整合Mybatis实现级联一对多CRUD操作的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
recommend-type

Mybatis中使用updateBatch进行批量更新

主要介绍了Mybatis中使用updateBatch进行批量更新的相关资料,有逐条更新,sql批量更新等,具体实例代码大家参考下本
recommend-type

mybatis使用pageHelper插件进行查询分页

主要介绍了mybatis使用pageHelper插件进行查询分页,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
recommend-type

Java的MyBatis框架中实现多表连接查询和查询结果分页

主要介绍了Java的MyBatis框架中实现多表连接查询和查询结果分页,借助MyBatis框架中带有的动态SQL查询功能可以比普通SQL查询做到更多,需要的朋友可以参考下
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

机器学习怎么将excel转为csv文件

机器学习是一种利用计算机算法和统计数据的方法来训练计算机来进行自动学习的科学,无法直接将excel文件转为csv文件。但是可以使用Python编程语言来读取Excel文件内容并将其保存为CSV文件。您可以使用Pandas库来读取Excel文件,并使用to_csv()函数将其保存为CSV格式。以下是代码示例: ```python import pandas as pd # 读取 Excel 文件 excel_data = pd.read_excel('example.xlsx') # 将数据保存为 CSV 文件 excel_data.to_csv('example.csv', index=
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。