mybaitis

    创建查询实例
    ManagerExample example = new ManagerExample();

ContactExample.Criteria

Criteria包含一个Cretiron的集合,每一个Criteria对象内包含的Cretiron之间是由AND连接的,是逻辑与的关系。

oredCriteria

Example内有一个成员叫oredCriteria,是Criteria的集合,就想其名字所预示的一样,这个集合中的Criteria是由OR连接的,是逻辑或关系。oredCriteria就是ORed Criteria。

Example
Example类的distinct字段用于指定DISTINCT查询。

orderByClause字段用于指定ORDER BY条件,这个条件没有构造方法,直接通过传递字符串值指定。

当传入的属性是对象时
使用 _parameter 来引用传递进来的实际参数,因为传递进来的某个对象的名字是不可考的

map类型

传入map类型,直接通过#{keyname}就可以引用到键对应的值。使用@param注释的多个参数值也会组装成一个map数据结构,和直接传递map进来没有区别。

mapper接口:

int updateByExample(@Param("user") User user, @Param("example") UserExample example);

//sql映射:

<update id="updateByExample" parameterType="map" >
    update tb_user
    set id = #{user.id,jdbcType=INTEGER},
    ...
    <if test="_parameter != null" >
      <include refid="Update_By_Example_Where_Clause" />
    </if>
   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
> <artifactId>mybatis</artifactId> <version>3.5.6</version> </dependency> ``` 2. 创建一个Mapper接口,例如UserMapper.java: ```java public interface UserMapper { User getUserById(int id); } ``` 3. 创建一个mapper.xml文件,例如UserMapper.xml,定义SQL语句: ```xml <mapper namespace="com.example.mapper.UserMapper"> <select id="getUserById" resultType="com.example.model.User"> SELECT * FROM users WHERE id = #{id} </select> </mapper> ``` 4. 在应用程序中使用MyBatis: ```java public class MyApp { public static void main(String[] args) { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); try (SqlSession session = sqlSessionFactory.openSession()) { UserMapper userMapper = session.getMapper(UserMapper.class); User user = userMapper.getUserById(1); System.out.println(user); } } } ``` 这是一个简单的MyBatis示例,它演示了如何使用Mapper接口和mapper.xml文件来执行SQL查询操作。当然,实际使用中还可以进行更多的配置和操作。 MyBatis是一个Java持久层框架,它提供了缓存机制来提高数据库访问性能[^1]。 一级缓存是MyBatis默认开启的本地缓存,它存储在会话级别,即在同一个会话中,相同的查询语句将会从缓存中获取结果,而不是再次向数据库发出查询请求。一级缓存的作用是减少数据库访问次数,提高性能[^1]。 二级缓存是全局缓存,它存储在会话工厂级别,即在不同的会话中,相同的查询语句将会从缓存中获取结果。二级缓存的工作机制是将查询结果序列化后存储在缓存中,当需要获取结果时,将缓存中的序列化结果反序列化为对象返回。二级缓存的使用需要在MyBatis的配置文件中进行配置[^1]。 以下是MyBatis缓存的一些相关配置: - eviction:缓存的回收策略,包括LRU(最近最少使用)、FIFO(先进先出)和SOFT(软引用)等。 - flushInterval:缓存刷新间隔,即多长时间刷新一次缓存。 - readOnly:是否只读,如果设置为true,则缓存中的对象不会被修改。 - size:缓存存放多少元素。 - type:指定自定义缓存的全类名[^1]。 总结来说,MyBatis的缓存机制可以提高数据库访问性能,通过一级缓存和二级缓存的使用,可以减少数据库查询次数,提高系统性能[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值