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

广西腾达建设集团有限公司网站网络营销软件排行

广西腾达建设集团有限公司网站,网络营销软件排行,wordpress文件插件,成都疫情最新情况今日新增文章目录1.JdbcTemplate简介2.JdbcTemplate主要方法:3.常用方法介绍update()方法增删改query()查询方法1.JdbcTemplate简介 JdbcTemplate是Spring JDBC的核心类,借助该类提供的方法可以很方便的实现数据的增删改查。 Spring对数据库的操作在jdbc上面做…

文章目录

  • 1.JdbcTemplate简介
  • 2.JdbcTemplate主要方法:
  • 3.常用方法介绍
    • update()方法增删改
    • query()查询方法

1.JdbcTemplate简介

JdbcTemplate是Spring JDBC的核心类,借助该类提供的方法可以很方便的实现数据的增删改查。

Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。

JdbcTemplate位于 spring-jdbc-4.3.0.RELEASE.jar 中。其全限定命名为org.springframework.jdbc.core.JdbcTemplate。要使用JdbcTemlate还需一个 spring-tx-4.3.0.RELEASE.jar 这个包包含了事务和异常控制

2.JdbcTemplate主要方法:

JdbcTemplate主要提供以下五类方法:

  • execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;
  • update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;
  • query方法及queryForXXX方法:用于执行查询相关语句;
  • call方法:用于执行存储过程、函数相关语句。

xml中的配置:

<!-- 扫描 -->
<context:component-scan base-package="com.xxx.*"></context:component-scan><!-- 不属于自己工程的对象用bean来配置 -->
<!-- 配置数据库连接池 -->
<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close" p:username="root" p:password="123456"><property name="driverClassName" value="com.mysql.jdbc.Driver"></property><property name="jdbcUrl" value="jdbc:mysql://127.0.0.1:3306/test"></property>
</bean><!-- 配置jdbcTemplate -->
<bean class="org.springframework.jdbc.core.JdbcTemplate" p:dataSource-ref="dataSource"></bean>

3.常用方法介绍

数据库user_info表:
在这里插入图片描述
先创建一个实体对象,对应数据库表中的信息,方便之后的查询操作

package com.xxx.vo;public class UserInfo {private int id;private String userName;private String password;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "UserInfo [id=" + id + ", userName=" + userName + ", password=" + password + "]";}}

update()方法增删改

修改(包含增、删、改):update()方法,另有批量插入方法batchUpdate()

UserInfoDao.java代码:

@Repository
public class UserInfoDao {@Autowired//从容器中自动扫描获取jdbcTemplateprivate JdbcTemplate jdbcTemplate;//update()实现增加数据public boolean insert(int id,String userName,String password){String sql = "insert into user_info values (?,?,?)";return jdbcTemplate.update(sql,id,userName,password)>0;}//update()实现修改public boolean update(int id,String userName,String password){String sql = "update user_info set user_name=?,password=? where id=?";return jdbcTemplate.update(sql,userName,password,id)>0;} //update()实现删除public boolean delete(int id){String sql = "delete from user_info where id=?";return jdbcTemplate.update(sql,id)>0;}}

测试类代码:

public class Test {public static void main(String[] args) {ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("application.xml");UserInfoDao userDao = applicationContext.getBean(UserInfoDao.class);boolean insert = userDao.insert(1,"Jim", "123");boolean update = userDao.update(1,"Tom","123456");boolean delete = userDao.delete(1);System.out.println("插入:"+insert+",修改:"+update+",删除:"+delete);}
}

测试结果:在这里插入图片描述

query()查询方法

查询:查询单个值、查询一个对象、查询多个对象

查询单个值

//查询单个值
public boolean login(String userName,String password){try {String sql = "select id from user_info where user_name=? and password=?";jdbcTemplate.queryForObject(sql,String.class,userName,password);return true;} catch (DataAccessException e) {return false;}
}

查询一个对象:RowMapper方法和ResultSetExtractor方法

//查询单个对象
public UserInfo getById(int id){String sql = "select id,user_name,password from user_info where id=?";//RowMapper方法class UserInfoRowMapper implements RowMapper<UserInfo>{@Overridepublic UserInfo mapRow(ResultSet rs, int rowNum) throws SQLException {UserInfo userInfo = new UserInfo();userInfo.setId(rs.getInt("id"));userInfo.setUserName(rs.getString("user_name"));userInfo.setPassword(rs.getString("password"));return userInfo;}}return jdbcTemplate.queryForObject(sql,new UserInfoRowMapper(),id);//RowMapper方法的Lambda表达式return jdbcTemplate.queryForObject(sql,(ResultSet rs,int rowNum)->{UserInfo userInfo = new UserInfo();userInfo.setId(rs.getInt("id"));userInfo.setUserName(rs.getString("user_name"));userInfo.setPassword(rs.getString("password"));return userInfo;},id);//ResultSetExtractor方法class UserInfoResultSet implements ResultSetExtractor<UserInfo>{@Overridepublic UserInfo extractData(ResultSet rs) throws SQLException, DataAccessException {UserInfo userInfo = null;if(rs.next()){userInfo = new UserInfo();userInfo.setId(rs.getInt("id"));userInfo.setUserName(rs.getString("user_name"));userInfo.setPassword(rs.getString("password"));}return userInfo;}}return jdbcTemplate.query(sql,new UserInfoResultSet(),id);//ResultSetExtractor方法的lambda表达式return jdbcTemplate.query(sql,(ResultSet rs)->{UserInfo userInfo = null;if(rs.next()){userInfo = new UserInfo();userInfo.setId(rs.getInt("id"));userInfo.setUserName(rs.getString("user_name"));userInfo.setPassword(rs.getString("password"));}return userInfo;},id);}

查询多个对象:RowMapper方法和ResultSetExtractor方法

//查询多个对象
public List<UserInfo> selectAll(){String sql = "select id,user_name,password from user_info";//RowMapper方法class UserInfoRowMapper implements RowMapper<UserInfo>{@Overridepublic UserInfo mapRow(ResultSet rs, int rowNum) throws SQLException {UserInfo userInfo = new UserInfo();userInfo.setId(rs.getInt("id"));userInfo.setUserName(rs.getString("user_name"));userInfo.setPassword(rs.getString("password"));return userInfo;}}return jdbcTemplate.query(sql,new UserInfoRowMapper());//RowMapper方法的Lambda表达式return jdbcTemplate.query(sql,(ResultSet rs,int rowNum)->{UserInfo userInfo = new UserInfo();userInfo.setId(rs.getInt("id"));userInfo.setUserName(rs.getString("user_name"));userInfo.setPassword(rs.getString("password"));return userInfo;});//ResultSetExtractor方法class UserInfoResultSet implements ResultSetExtractor<List<UserInfo>>{@Overridepublic List<UserInfo> extractData(ResultSet rs) throws SQLException, DataAccessException {List<UserInfo> list = new ArrayList<>();while(rs.next()){UserInfo userInfo = new UserInfo();userInfo.setId(rs.getInt("id"));userInfo.setUserName(rs.getString("user_name"));userInfo.setPassword(rs.getString("password"));list.add(userInfo);}return list;}}return jdbcTemplate.query(sql, new UserInfoResultSet());//ResultSetExtractor方法的lambda表达式return jdbcTemplate.query(sql,(ResultSet rs)->{List<UserInfo> list = new ArrayList<>();while(rs.next()){UserInfo userInfo = new UserInfo();userInfo.setId(rs.getInt("id"));userInfo.setUserName(rs.getString("user_name"));userInfo.setPassword(rs.getString("password"));list.add(userInfo);}return list;});}
http://www.shuangfujiaoyu.com/news/48453.html

相关文章:

  • easyui网站开发实战电子书厦门seo屈兴东
  • 贵州企业网站建设公司吸引人的营销标题
  • 手机论坛网站怎么做百度应用
  • 注册餐饮公司需要什么条件zac seo博客
  • 手机版网站怎么做全网品牌推广
  • dy刷粉网站推广马上刷云搜索系统
  • 婚庆网站设计说明书详情页设计
  • 网站站长要会什么用seo推广话术
  • 网站即时到账要怎么做app运营
  • 建站公司还行吗韩国日本比分
  • 如何做自媒体和网站签约赚点击百度seo排名在线点击器
  • 17网站一起做网店 发货慢宁波网站建设的公司
  • 上海网站建设领导品牌淘宝怎么优化关键词步骤
  • 贵阳网站开发哪家便宜seo一个月赚多少钱
  • 中国石油建设工程协会网站巨量广告投放平台
  • 在线甜点订购网站开发需求分析体验营销理论
  • 全是图片的网站怎么做seo网络营销论文3000字
  • 九_网站建设日程表百度风云搜索榜
  • 免费xyz顶级域名西安seo关键词推广
  • 无极电影网甄嬛传seo厂商
  • 做360手机网站优化餐饮营销策划方案
  • 网站如何设置404页面seo技术教学视频
  • 妈妈一直做的网站农产品网络营销方案
  • 网站建设gxjzdrj如何自己建一个网站
  • 自己做的网站显示iis7百度手机助手app
  • 加强农业网站建设真正免费的网站建站平
  • 怎么判断网站是否被收录网站推广方法
  • 仙桃网站设计腾讯企点app下载安装
  • 纯div css做网站简洁版站长工具黄
  • 怎么欣赏一个网站设计图aso优化师