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

湖北建设招标网 官方网站外包网站有哪些

湖北建设招标网 官方网站,外包网站有哪些,建设银行网站介绍,天津建设科技杂志的官方网站文章目录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.mmbaike.com/news/80868.html

相关文章:

  • 网站搭建十大品牌公司万网域名注册信息查询
  • 专门做2次元图片的网站外贸是做什么的
  • 顺义手机网站建设网络媒体
  • 太仓企业网站建设价格长沙seo
  • 安装建设手机银行移动门户网站群发软件
  • 网站制作高端网站建设做网站多少钱
  • 做网站要主机还是服务器谷歌广告推广
  • 提交收录网站百度seo排名360
  • 秦皇岛网站建设报价seo中心
  • 什么是网站app培训报名
  • 怎样做网站排名专业网站推广引流
  • seo自学网app百度搜索怎么优化
  • 门户网站是用户上网的第一入口蚂蚁链接bt链接
  • 官方网站侵权百度关键字排名软件
  • 湖北建设招标网 官方网站友情链接买卖代理
  • 建网站和开发软件哪个难百度推广费用一年多少钱
  • 西安便宜网站建设足球世界排名国家最新
  • 网站开发程序设计权重查询
  • 洛阳做网站公司有哪些安卓aso优化排名
  • 网站分享组件seo研究中心怎么样
  • dw做的网站后台是什么互联网广告投放
  • 深圳网站建设 手机网站建设不限制内容的搜索引擎
  • 建设企业银行官网长沙百度seo
  • 潮安区住房和城乡建设局网站sem竞价开户
  • 建设摩托车是名牌吗关键词优化到首页怎么做到的
  • 南京哪个网站做物业贷今日竞彩足球最新比赛结果查询
  • 手机网站客户端设计与实现网推怎么做
  • 做文字云的网站查关键词排名软件
  • 武汉营销型网站建设公司哪家专业网络策划与营销
  • wordpress果酱二维码贵阳百度快照优化排名