当前位置: 首页 > news >正文

天津手机网站建设制作北京网站建设优化

天津手机网站建设制作,北京网站建设优化,网站建设后台实训体会,网站开发课程设计培训Mybatis执行自定义SQL并使用PageHelper进行分页 基于Mybatis&#xff0c;让程序可以执行动态传入的SQL&#xff0c;而不需要在xml或者Select语句中定义。 代码示例 pom.xml 依赖 <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId&g…

Mybatis执行自定义SQL并使用PageHelper进行分页

基于Mybatis,让程序可以执行动态传入的SQL,而不需要在xml或者@Select语句中定义。

代码示例

pom.xml 依赖

        <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.2</version></dependency><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>2.1.0</version></dependency>

application.properties 配置数据库连接,这里使用的数据库是MySQL默认的示例数据库:world

#指定Mybatis的Mapper文件
mybatis.mapper-locations=classpath:mappers/*xml
#指定Mybatis的实体目录
mybatis.type-aliases-package=com.example.db.mybatis.entity
# 应用服务 WEB 访问端口
server.port=28084spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/world?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=true&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2b8
spring.datasource.username=root
spring.datasource.password=root

定义controller,用以动态传入需要执行的sql:

@RestController
@Slf4j
public class DBController {@Autowiredprivate UserService userService;@GetMapping("/query")public Object query() {String sql = "select * from city";return userService.executeDynamicSql(sql);}
}

定义service,用于调用mapper方法:

@Service
public class UserService {@Autowiredprivate DynamicSqlMapper dynamicSqlMapper;public List<Map<String, Object>> executeDynamicSql(String sql) {PageHelper.offsetPage(0,10);	// 这里演示pagehelper是否可以对动态传入的sql进行分页return dynamicSqlMapper.executeDynamicSql(sql);}
}

定义mapper接口,用以承载sql语句的执行:

@Mapper
public interface DynamicSqlMapper {@SelectProvider(type = MySqlProvider.class, method = "getDynamicSql")List<Map<String, Object>> executeDynamicSql(String sql);
}

定义sql语句的获取方式:

public class MySqlProvider {public String getDynamicSql(String sql) {return sql;}
}

执行结果

访问接口:http://localhost:28084/query
使用 JTracker 插件可以查看到具体执行的sql语句如下,第一次查询count,第二次进行分页查询:

-- com.example.db.demos.web.mapper.DynamicSqlMapper#executeDynamicSql_COUNT --
-- [21:10:03.894] [2.00ms]
SELECT count(0) FROM city-- com.example.db.demos.web.mapper.DynamicSqlMapper#executeDynamicSql --
-- [21:10:03.917] [1.00ms]
select * from cityLIMIT 10 

结论

使用 @SelectProvider 注解可以动态执行传入的sql,并使用pageHelper进行分页。

http://www.zhongyajixie.com/news/31155.html

相关文章:

  • 四川省建设招标网站网站域名解析ip查询
  • 电子商务网站的建设和流程上海seo培训
  • 企业网站空间多大合适竞价托管咨询微竞价
  • wordpress刷关键站长工具seo综合查询官网
  • 网络营销品牌策划营销型网站建设优化建站
  • 网站对接如何做百度指数的搜索指数
  • 知名网站制作企业seo网站排名优化价格
  • 成都哪里做网站便宜app推广团队
  • wordpress 站外搜索免费推广app软件下载
  • 淘宝客推广怎样做网站友链交易网
  • 大连哪里有手机自适应网站建设十大搜索引擎地址
  • Wordpress嵌套其他网站网络营销课程介绍
  • wordpress 数据朝阳seo排名
  • 延安网站建设seo网上培训课程
  • 网站备案初审过了八百客crm登录入口
  • 有什么网站可以做团购代运营公司可靠吗
  • 南昌网站建设seo优化一般包括哪些
  • 网站建设操作武汉网优化seo公司
  • 济宁网站设计北京网站seo设计
  • 如何分析一个网站开发语言抖音怎么运营和引流
  • 建设一个网站需要做哪些工作营销管理培训课程培训班
  • 阿里巴巴建设网站首页佛山seo
  • 先做网站后台还是前台百度seo技术优化
  • 做网站可以申请专利吗百度seo多久能优化关键词
  • 短视频seo排名加盟网站优化软件费用
  • 旅游做攻略的网站有哪些seo快速排名优化方法
  • 大连网站建设#选领超科技长春网站制作设计
  • 网页设计与网站制作知识框架企业网站推广方案的策划
  • 湖南门户网站设计公司网站制作报价
  • 安徽免费网站制作线上产品推广方案