1.Mybatis获取参数值的两种方式MyBatis获取参数值的两种方式:#{}和${}{}:本质就是占位符赋值${}:本质就是字符串拼接2.单个字面量类型的参数什么是字面量??inta=1;比如说上面这行代码,里面的1,我们看到的是1,它实际的值也是1,这就是字面量;再比如里面的a,我们看到的是a,但它的值并不是a而是1,这叫变量。根据用户名root查找用户信息{}占位符赋值通过日志信息可以看到sql语句中#{}被占位符?代替。注意:映射文件中#{username}的参数可以写成任意的select*fromt_userwhereusername=#{username}#可以写成select*
1.Mybatis获取参数值的两种方式MyBatis获取参数值的两种方式:#{}和${}{}:本质就是占位符赋值${}:本质就是字符串拼接2.单个字面量类型的参数什么是字面量??inta=1;比如说上面这行代码,里面的1,我们看到的是1,它实际的值也是1,这就是字面量;再比如里面的a,我们看到的是a,但它的值并不是a而是1,这叫变量。根据用户名root查找用户信息{}占位符赋值通过日志信息可以看到sql语句中#{}被占位符?代替。注意:映射文件中#{username}的参数可以写成任意的select*fromt_userwhereusername=#{username}#可以写成select*
Mybatis插件Mybatis插件主要是通过JDK动态代理实现的,插件可以针对接口中的方法进行代理增强,在Mybatis中比较重要的接口如下:Executor:sql执行器,包含多个实现类,比如SimpleExecutorStatementHander:sql语句处理器,用于将sql语句与Statement的映射,实现类有:PrepareStatementHandler、SimpleStatementHandler、CallBackStatementHandlerParameterHandler:用于参数处理,将传入的参数一一的解析并将类型解析出来,会用到TypeHandler,最终这些数据
Mybatis插件Mybatis插件主要是通过JDK动态代理实现的,插件可以针对接口中的方法进行代理增强,在Mybatis中比较重要的接口如下:Executor:sql执行器,包含多个实现类,比如SimpleExecutorStatementHander:sql语句处理器,用于将sql语句与Statement的映射,实现类有:PrepareStatementHandler、SimpleStatementHandler、CallBackStatementHandlerParameterHandler:用于参数处理,将传入的参数一一的解析并将类型解析出来,会用到TypeHandler,最终这些数据
Mybatis缓存使用在Mybatis中缓存分为一级缓存和二级缓存,二级缓存又称为全局缓存,默认一级缓存和二级缓存都是开启的,只是二级缓存的使用需要配置才能生效,在Mybatis中一级缓存是SqlSession级别也就是会话级别的,而二级缓存是Mapper级别的可以跨SqlSession会话。我们看看一级缓存的使用,查询用户信息:privateSqlSessionFactorysqlSessionFactory;@Beforepublicvoidbefore(){//第一步获取配置文件,并将其读取到流中Stringresource="mybatis-config.xml";InputStrea
Mybatis缓存使用在Mybatis中缓存分为一级缓存和二级缓存,二级缓存又称为全局缓存,默认一级缓存和二级缓存都是开启的,只是二级缓存的使用需要配置才能生效,在Mybatis中一级缓存是SqlSession级别也就是会话级别的,而二级缓存是Mapper级别的可以跨SqlSession会话。我们看看一级缓存的使用,查询用户信息:privateSqlSessionFactorysqlSessionFactory;@Beforepublicvoidbefore(){//第一步获取配置文件,并将其读取到流中Stringresource="mybatis-config.xml";InputStrea
1.Mybatis的一级缓存Mybatis的一级缓存是默认开启的,你只要搭建一个Mybatis框架,就可以直接使用一级缓存。一级缓存是SqlSession级别的,通过SqlSession查询的数据会被缓存,下次使用同一个SqlSession查询相同的数据,就会从缓存中直接获取,不会从数据库重新访问,减轻数据库压力。条件:同一个SqlSession查询相同的数据例子:同一个SqlSession查询相同的数据这里我们通过员工id查询员工信息,且两次都是查询id=1的员工通过下面的日志信息可以看到,只执行了一次sql语句,但查询出了两次员工信息。所以说第一次是从数据库中查询,第二次是从缓存中查询到的
1.Mybatis的一级缓存Mybatis的一级缓存是默认开启的,你只要搭建一个Mybatis框架,就可以直接使用一级缓存。一级缓存是SqlSession级别的,通过SqlSession查询的数据会被缓存,下次使用同一个SqlSession查询相同的数据,就会从缓存中直接获取,不会从数据库重新访问,减轻数据库压力。条件:同一个SqlSession查询相同的数据例子:同一个SqlSession查询相同的数据这里我们通过员工id查询员工信息,且两次都是查询id=1的员工通过下面的日志信息可以看到,只执行了一次sql语句,但查询出了两次员工信息。所以说第一次是从数据库中查询,第二次是从缓存中查询到的
==>>MyBatis中文网1、第一个mybastis程序1.1导入jar包3.4.15.1.47org.mybatismybatis${mybatis.version}mysqlmysql-connector-java${mysql.version}1.2jdcb.propertiesdriver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/animedb?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2b8username=rootp
==>>MyBatis中文网1、第一个mybastis程序1.1导入jar包3.4.15.1.47org.mybatismybatis${mybatis.version}mysqlmysql-connector-java${mysql.version}1.2jdcb.propertiesdriver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/animedb?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2b8username=rootp