基于MyBatis注解的学生管理程序
时间: 2023-12-03 19:44:24 浏览: 22
首先,需要创建一个名为Student的实体类,该类包含学生的id、姓名、年龄、性别等属性。代码如下:
```java
public class Student {
private Integer id;
private String name;
private Integer age;
private String gender;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
}
```
接下来,需要创建一个DAO接口,用于操作Student实体类的数据,使用MyBatis注解来声明SQL语句。代码如下:
```java
public interface StudentMapper {
@Select("select * from student where id = #{id}")
Student getStudentById(@Param("id") Integer id);
@Insert("insert into student(name, age, gender) values(#{name}, #{age}, #{gender})")
int insertStudent(Student student);
@Update("update student set name = #{name}, age = #{age}, gender = #{gender} where id = #{id}")
int updateStudent(Student student);
@Delete("delete from student where id = #{id}")
int deleteStudent(@Param("id") Integer id);
}
```
其中@Select、@Insert、@Update、@Delete注解分别对应SQL语句中的SELECT、INSERT、UPDATE、DELETE操作。
最后,在配置文件中指定Mapper接口的路径,以及数据库连接信息。代码如下:
```xml
<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?useSSL=false&serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper class="com.example.dao.StudentMapper"/>
</mappers>
</configuration>
```
其中,<dataSource>标签中的属性值需要根据本地数据库的实际情况进行修改。
这样,就完成了基于MyBatis注解的学生管理程序的开发。可以使用以下代码测试程序的功能:
```java
public static void main(String[] args) {
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("mybatis-config.xml"));
SqlSession sqlSession = sqlSessionFactory.openSession();
StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);
// 添加学生
Student student = new Student();
student.setName("Tom");
student.setAge(20);
student.setGender("male");
studentMapper.insertStudent(student);
// 查询学生
Student queryStudent = studentMapper.getStudentById(student.getId());
System.out.println(queryStudent.getName() + " " + queryStudent.getAge() + " " + queryStudent.getGender());
// 修改学生信息
queryStudent.setName("Jerry");
queryStudent.setAge(21);
queryStudent.setGender("female");
studentMapper.updateStudent(queryStudent);
// 删除学生
studentMapper.deleteStudent(queryStudent.getId());
sqlSession.commit();
sqlSession.close();
}
```