使用MyBatis编程实现下列要求: 查询李四的年龄。 查询所有的食堂卡信息。 新增学生记录,姓名和年龄为自己真实信息,卡号为1。 给1号食堂卡充值200元。 删除卡内余额少于5的食堂卡。 查询张三食堂卡余额。
时间: 2024-02-22 16:57:30 浏览: 23
好的,以下是使用MyBatis实现的代码示例:
1. 查询李四的年龄
```java
// 定义Mapper接口
public interface StudentMapper {
@Select("SELECT age FROM tb_student WHERE name = '李四'")
int getAgeOfLiSi();
}
// 使用Mapper接口
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);
int age = studentMapper.getAgeOfLiSi();
System.out.println("李四的年龄为:" + age);
} finally {
sqlSession.close();
}
```
2. 查询所有的食堂卡信息
```java
// 定义Mapper接口
public interface CardMapper {
@Select("SELECT * FROM tb_card")
List<Card> getAllCards();
}
// 使用Mapper接口
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
CardMapper cardMapper = sqlSession.getMapper(CardMapper.class);
List<Card> cards = cardMapper.getAllCards();
System.out.println("所有食堂卡信息如下:");
for (Card card : cards) {
System.out.println(card);
}
} finally {
sqlSession.close();
}
```
3. 新增学生记录,姓名和年龄为自己真实信息,卡号为1
```java
// 定义Mapper接口
public interface StudentMapper {
@Insert("INSERT INTO tb_student(name, age, dormitory) VALUES(#{name}, #{age}, '')")
@Options(useGeneratedKeys = true, keyProperty = "id")
void addStudent(Student student);
}
// 使用Mapper接口
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);
Student student = new Student();
student.setName("张三");
student.setAge(20);
studentMapper.addStudent(student);
System.out.println("新增学生记录成功,学生编号为:" + student.getId());
// 新增卡记录
Card card = new Card();
card.setCardNo("1");
card.setBalance(0);
cardMapper.addCard(card);
System.out.println("新增卡记录成功,卡编号为:" + card.getId());
} finally {
sqlSession.commit();
sqlSession.close();
}
```
4. 给1号食堂卡充值200元
```java
// 定义Mapper接口
public interface CardMapper {
@Update("UPDATE tb_card SET balance = balance + #{amount} WHERE id = 1")
void rechargeCard(@Param("amount") int amount);
}
// 使用Mapper接口
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
CardMapper cardMapper = sqlSession.getMapper(CardMapper.class);
cardMapper.rechargeCard(200);
System.out.println("1号食堂卡充值200元成功!");
} finally {
sqlSession.commit();
sqlSession.close();
}
```
5. 删除卡内余额少于5的食堂卡
```java
// 定义Mapper接口
public interface CardMapper {
@Delete("DELETE FROM tb_card WHERE balance < 5")
void deleteCardsWithLowBalance();
}
// 使用Mapper接口
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
CardMapper cardMapper = sqlSession.getMapper(CardMapper.class);
cardMapper.deleteCardsWithLowBalance();
System.out.println("删除卡内余额少于5的食堂卡成功!");
} finally {
sqlSession.commit();
sqlSession.close();
}
```
6. 查询张三食堂卡余额
```java
// 定义Mapper接口
public interface CardMapper {
@Select("SELECT balance FROM tb_card WHERE id = (SELECT card_id FROM tb_student WHERE name = '张三')")
int getBalanceOfZhangSanCard();
}
// 使用Mapper接口
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
CardMapper cardMapper = sqlSession.getMapper(CardMapper.class);
int balance = cardMapper.getBalanceOfZhangSanCard();
System.out.println("张三的食堂卡余额为:" + balance);
} finally {
sqlSession.close();
}
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)