1.编程题 (1)创建Dog类,在其中添加name和age属性。创建对应数据库,根据name和 age属性,使用MyBatis查询和更新Dog类,要求当name和age属性的值为空时,去掉相应的筛选添加(使用动态SQL实现)。
时间: 2024-02-13 17:02:42 浏览: 26
好的,我来解答您的问题。
首先,我们需要创建一个Dog类,包含name和age属性:
```java
public class Dog {
private String name;
private Integer age;
// 构造函数和getter/setter方法省略
}
```
接下来,我们需要创建对应的数据库表和使用MyBatis进行查询和更新操作。这里我们假设数据库表名为`dog`,包含`name`和`age`两个字段。
1. 查询操作:
```xml
<!-- DogMapper.xml -->
<select id="getDogs" parameterType="Dog" resultType="Dog">
SELECT * FROM dog
<where>
<if test="name != null and name != ''">
AND name = #{name}
</if>
<if test="age != null">
AND age = #{age}
</if>
</where>
</select>
```
上述代码中使用了MyBatis提供的动态SQL语法,当`name`和`age`属性的值为空时,相应的筛选条件会被去掉。
2. 更新操作:
```xml
<!-- DogMapper.xml -->
<update id="updateDog" parameterType="Dog">
UPDATE dog
<set>
<if test="name != null and name != ''">
name = #{name},
</if>
<if test="age != null">
age = #{age},
</if>
</set>
WHERE id = #{id}
</update>
```
同样地,这里也使用了动态SQL语法,当`name`和`age`属性的值为空时,相应的更新操作也会被去掉。
最后,我们需要在MyBatis的配置文件中引入这些SQL语句:
```xml
<!-- mybatis-config.xml -->
<mappers>
<mapper resource="com/example/mappers/DogMapper.xml"/>
</mappers>
```
这样就可以在Java代码中使用Dog类进行数据库的查询和更新了。