mybatis和jdbc的最大区别
时间: 2023-05-18 12:04:31 浏览: 90
Mybatis和JDBC的最大区别在于,JDBC需要手动编写SQL语句,而Mybatis则可以通过XML或注解的方式来映射SQL语句和Java对象之间的关系,从而简化了开发过程。此外,Mybatis还提供了更加灵活的参数绑定和结果集映射方式,以及更好的缓存机制和事务管理。
相关问题
mybatis 集成tdengine和druid
MyBatis 是一种优秀的 ORM 框架,可以方便地对数据库进行操作。而 TDengine 是一种高性能、高可靠性的时序数据库,Druid 是一个开源的数据库连接池,支持并发控制、SQL 监控等功能。下面介绍如何集成 MyBatis、TDengine 和 Druid。
1. 集成 MyBatis 和 TDengine
首先需要在 pom.xml 中添加 TDengine 的依赖:
```
<dependency>
<groupId>com.taosdata.jdbc</groupId>
<artifactId>taos-jdbc</artifactId>
<version>1.7.0</version>
</dependency>
```
然后在 MyBatis 的配置文件中添加 TDengine 数据库的连接信息:
```
<dataSource type="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="com.taosdata.jdbc.TSDBDriver"/>
<property name="url" value="jdbc:TAOS://127.0.0.1:6030/test"/>
<property name="username" value="root"/>
<property name="password" value="taosdata"/>
</dataSource>
```
其中,“url”中的“127.0.0.1:6030”表示 TDengine 数据库的 IP 地址和端口号,“test”表示要连接的数据库名称,“root”和“taosdata”分别为 TDengine 数据库的用户名和密码。
2. 集成 MyBatis、TDengine 和 Druid
在 pom.xml 中添加 Druid 的依赖:
```
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>
```
然后在 MyBatis 的配置文件中添加 Druid 数据库连接池:
```
<dataSource type="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="com.taosdata.jdbc.TSDBDriver"/>
<property name="url" value="jdbc:TAOS://127.0.0.1:6030/test"/>
<property name="username" value="root"/>
<property name="password" value="taosdata"/>
<property name="initialSize" value="5"/>
<property name="minIdle" value="5"/>
<property name="maxActive" value="20"/>
<property name="maxWait" value="60000"/>
<property name="timeBetweenEvictionRunsMillis" value="300000"/>
<property name="minEvictableIdleTimeMillis" value="600000"/>
<property name="testWhileIdle" value="true"/>
<property name="validationQuery" value="SELECT 1"/>
<property name="testOnBorrow" value="false"/>
<property name="testOnReturn" value="false"/>
<property name="poolPreparedStatements" value="true"/>
<property name="maxPoolPreparedStatementPerConnectionSize" value="20"/>
</dataSource>
```
其中,“initialSize”表示连接池的初始化大小,“minIdle”表示最小空闲连接数,“maxActive”表示最大活跃连接数,“maxWait”表示最大等待时间,“timeBetweenEvictionRunsMillis”表示两次检查连接池的间隔时间,“minEvictableIdleTimeMillis”表示连接最小空闲时间,“testWhileIdle”表示是否检查空闲连接,“validationQuery”表示连接校验语句,“testOnBorrow”表示是否检查连接的可用性,“testOnReturn”表示连接返回给连接池时是否检查可用性,“poolPreparedStatements”表示是否缓存 PreparedStatement,“maxPoolPreparedStatementPerConnectionSize”表示每个连接最大缓存的 PreparedStatement 数量。
最后在 MyBatis 的配置文件中添加 Druid 的相关配置:
```
<dataSource type="com.alibaba.druid.pool.DruidDataSource">
...
</dataSource>
<plugins>
<plugin interceptor="com.alibaba.druid.pool.DruidDataSourceStatInterceptor"/>
<plugin interceptor="com.alibaba.druid.wall.WallFilter"/>
</plugins>
```
其中,“com.alibaba.druid.pool.DruidDataSourceStatInterceptor”表示 Druid 的连接池监控插件,“com.alibaba.druid.wall.WallFilter”表示 Druid 的 SQL 检查插件。
以上就是 MyBatis 集成 TDengine 和 Druid 的方法。
使用mybatis-plus和oracle 分页
您好!关于使用mybatis-plus和oracle进行分页的问题,您可以参考以下步骤:
1. 在pom.xml文件中添加mybatis-plus和oracle的依赖:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.4.3</version>
</dependency>
<dependency>
<groupId>com.oracle.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>19.3.0.0</version>
</dependency>
```
2. 在配置文件中配置mybatis-plus的分页插件:
```yaml
mybatis-plus:
mapper-locations: classpath*:mapper/*Mapper.xml
global-config:
db-config:
id-type: auto
table-capital: true
column-capital: false
logic-delete-value: 1
logic-not-delete-value: 0
logic-delete-field: delete_flag
pageSize: 10 # 每页大小
page: 1 # 当前页
overflow: true # 是否溢出,如果为true,则返回最后一页,如果为false,则返回第一页
limit: 100 #最大分页限制
configuration:
map-underscore-to-camel-case: true
cache-enabled: false
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
plugins:
- component: com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor
```
3. 在mapper接口中定义查询方法,并且使用Page对象保存分页参数:
```java
public interface UserMapper extends BaseMapper<User> {
List<User> selectUserList(Page<User> page, @Param("search") String search);
}
```
4. 在service层中调用mapper接口的方法,同时传入页码和每页大小的参数:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public IPage<User> selectUserList(Page<User> page, String search) {
return userMapper.selectUserList(page, search);
}
}
```
使用以上方法可以轻松实现mybatis-plus和oracle的分页功能,希望对您有所帮助。
阅读全文