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

把自己的电脑做网站服务器成都网站维护

把自己的电脑做网站服务器,成都网站维护,南昌县住房和城乡建设局网站,最新旅游热点一、简介 Spring 框架对 JDBC 进行封装,使用 JdbcTemplate 方便实现对数据库操作。它是 spring 框架中提供的一个对象,是对原始 Jdbc API 对象的简单封装。spring 框架为我们提供了很多的操作模板类。 针对操作关系型数据: jdbcTemplateHibe…

一、简介

Spring 框架对 JDBC 进行封装,使用 JdbcTemplate 方便实现对数据库操作。它是 spring 框架中提供的一个对象,是对原始 Jdbc API 对象的简单封装。spring 框架为我们提供了很多的操作模板类。

  • 针对操作关系型数据:

    • jdbcTemplate
    • HibernateTemplate
  • 针对操作非关系型数据库:

    • RedisTemplate
  • 针对操作消息队列:

    • JmsTemplate

二、应用

导入相关依赖

<dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.1.14.RELEASE</version>
</dependency>
<dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>5.1.3.RELEASE</version>
</dependency>

创建数据库表

DROP TABLE IF EXISTS `account`;
CREATE TABLE `account`  (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`money` float NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

1. JdbcTemplate 的简单使用

public static void main(String[] args) {//准备数据源DriverManagerDataSource ds = new DriverManagerDataSource();ds.setDriverClassName("com.mysql.jdbc.Driver");ds.setUrl("jdbc:mysql://localhost:3306/test");ds.setUsername("root");ds.setPassword("123456");//1. 创建jdbcTemplate对象JdbcTemplate jdbcTemplate = new JdbcTemplate();jdbcTemplate.setDataSource(ds);//2. 执行操作jdbcTemplate.execute("insert into account(name, money) values('ccc',1000)");
}

2. JdbcTemplate 操作数据库

1)准备工作

导入C3P0依赖

<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.49</version>
</dependency>
<dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>5.3.29</version>
</dependency>
<dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.5.1</version>
</dependency>

创建mysql.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!--配置持久层--><bean id="accountDao" class="com.shiftycat.mysql.dao.impl.AccountDaoImpl"><property name="jdbcTemplate" ref="jdbcTemplate"></property></bean><!--配置jdbcTemplate--><bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource" ref="dataSource"></property></bean><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><property name="driverClass" value="com.mysql.jdbc.Driver"></property><property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test"></property><property name="user" value="root"></property><property name="password" value="shiftlesscat"></property></bean></beans>

创建PoJo类

package com.shiftycat.mysql.pojo;public class Account {private int id;private String name;private float money;public Account() {}public Account(int id, String name, float money) {this.id = id;this.name = name;this.money = money;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public float getMoney() {return money;}public void setMoney(float money) {this.money = money;}@Overridepublic String toString() {return "Account{" +"id=" + id +", name='" + name + '\'' +", money=" + money +'}';}
}

创建持久层

/*** 账户持久层接口*/
public interface IAccountDao {/*** 根据id查询账户*/Account findAccountById(Integer accountId);/*** 根据名称查询*/Account findAccountByName(String accountName);/*** 更新账户*/void updateAccount(Account account);
}
/*** 账户的持久层实现类*/
public class AccountDaoImpl implements IAccountDao {private JdbcTemplate jdbcTemplate;public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {this.jdbcTemplate = jdbcTemplate;}
}
2) 添加
public void addAccount(Account account) {//1 创建sql语句String sql = "insert into account(id, name, money) values(?,?,?)";//2 调用方法实现Object[] args = {account.getId(), account.getName(), account.getMoney()};int update = jdbcTemplate.update(sql, args);System.out.println(update);
}
3)修改
public void updateAccount(Account account) {//1 创建sql语句String sql = "update account set username=?, ustatus=? where user_id=?";//2 调用方法实现Object[] args = {account.getId(), account.getName(), account.getMoney()};int update = jdbcTemplate.update(sql, args);System.out.println(update);
}
4)删除
public void deleteAccount(String id) {//1 创建sql语句String sql = "delete from account where id=?";//2 调用方法实现int update = jdbcTemplate.update(sql, id);System.out.println(update);
}
5) 查询返回某个值
public int selectCount() {//1 创建sql语句String sql = "select count(*) from account;";//2 调用方法实现Integer count = jdbcTemplate.queryForObject(sql, Integer.class);return count;
}
6)查询返回对象
public Account findAccountInfo(String id) {//1 创建sql语句String sql = "select * from account where id=?;";//2 调用方法实现Account account = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<Account>(Account.class), id);return account;
}
7)查询返回集合
public List<Account> findAllAccount() {//1 创建sql语句String sql = "select * from account";//2 调用方法实现List<Account> accountList = jdbcTemplate.query(sql, new BeanPropertyRowMapper<Account>(Account.class));return accountList;
}
8)批量操作-添加
public void batchAddAccount(List<Object[]> batchArgs) {//1 创建sql语句String sql = "insert into account(id, name, money) values(?,?,?)";//2 调用方法实现int[] ints = jdbcTemplate.batchUpdate(sql, batchArgs);System.out.println(Arrays.toString(ints));
}
9)批量操作-修改
public void batchUpdateAccount(List<Object[]> batchArgs) {//1 创建sql语句String sql = "update account set name=?, account=? where id=?";//2 调用方法实现int[] ints = jdbcTemplate.batchUpdate(sql, batchArgs);System.out.println(ints);
}
10)批量操作-删除
public void batchDeleteAccount(List<Object[]> batchArgs) {//1 创建sql语句String sql = "delete from account where id=?";//2 调用方法实现int[] ints = jdbcTemplate.batchUpdate(sql, batchArgs);System.out.println(ints);
}

前丨尘忆·梦-Spring——JdbcTemplate:https://blog.csdn.net/qq_36879493/article/details/121915176

Xiu Yan-Spring 从入门到精通系列 11 —— Spring 中的 JdbcTemplate: https://blog.csdn.net/qq_36879493/article/details/121915176


文章转载自:
http://wanjiadiverticulum.kryr.cn
http://wanjiarhythmite.kryr.cn
http://wanjiadahabeah.kryr.cn
http://wanjiaputrescence.kryr.cn
http://wanjiapooftah.kryr.cn
http://wanjialuminosity.kryr.cn
http://wanjiaeburnation.kryr.cn
http://wanjiarhamnaceous.kryr.cn
http://wanjiadrizzle.kryr.cn
http://wanjiaannoit.kryr.cn
http://wanjiawhatso.kryr.cn
http://wanjiatexturology.kryr.cn
http://wanjiaincarnate.kryr.cn
http://wanjiadisulfide.kryr.cn
http://wanjiaunau.kryr.cn
http://wanjiadollarbird.kryr.cn
http://wanjianeophiliac.kryr.cn
http://wanjiahotdogger.kryr.cn
http://wanjiagasometer.kryr.cn
http://wanjiaiguana.kryr.cn
http://wanjiafeoffor.kryr.cn
http://wanjiapraedial.kryr.cn
http://wanjialaryngitic.kryr.cn
http://wanjiaquintet.kryr.cn
http://wanjiawaterwheel.kryr.cn
http://wanjiathalassochemistry.kryr.cn
http://wanjiarepost.kryr.cn
http://wanjiasteadily.kryr.cn
http://wanjiatripy.kryr.cn
http://wanjiareconcentrate.kryr.cn
http://wanjiagonocyte.kryr.cn
http://wanjiascalepan.kryr.cn
http://wanjiahematophyte.kryr.cn
http://wanjiacyclometry.kryr.cn
http://wanjiaquinquevalent.kryr.cn
http://wanjiatimesaver.kryr.cn
http://wanjiaeleusinian.kryr.cn
http://wanjiahindustan.kryr.cn
http://wanjiaeucalyptus.kryr.cn
http://wanjianonnatural.kryr.cn
http://wanjiaflasket.kryr.cn
http://wanjiaartefact.kryr.cn
http://wanjiaunphysiological.kryr.cn
http://wanjiaadn.kryr.cn
http://wanjialimitr.kryr.cn
http://wanjiaseizer.kryr.cn
http://wanjiashoal.kryr.cn
http://wanjiajargonelle.kryr.cn
http://wanjiaphonotactics.kryr.cn
http://wanjiamizenyard.kryr.cn
http://wanjiaslush.kryr.cn
http://wanjiaenglishness.kryr.cn
http://wanjiatrike.kryr.cn
http://wanjiasquiffer.kryr.cn
http://wanjiaentrance.kryr.cn
http://wanjiaviolate.kryr.cn
http://wanjiaappropinquity.kryr.cn
http://wanjiaspiff.kryr.cn
http://wanjiaoutfrown.kryr.cn
http://wanjiatrombonist.kryr.cn
http://wanjiaringman.kryr.cn
http://wanjiaheron.kryr.cn
http://wanjiadong.kryr.cn
http://wanjiaunappeased.kryr.cn
http://wanjiarainy.kryr.cn
http://wanjiatapping.kryr.cn
http://wanjiagapeworm.kryr.cn
http://wanjianephrotic.kryr.cn
http://wanjiavesuvio.kryr.cn
http://wanjiacrura.kryr.cn
http://wanjiaeupepsia.kryr.cn
http://wanjianonfood.kryr.cn
http://wanjiacontractant.kryr.cn
http://wanjiapersonify.kryr.cn
http://wanjiaimburse.kryr.cn
http://wanjiaadvertent.kryr.cn
http://wanjiatunesmith.kryr.cn
http://wanjiawdm.kryr.cn
http://wanjiahelianthine.kryr.cn
http://wanjiaphraseman.kryr.cn
http://www.15wanjia.com/news/113177.html

相关文章:

  • 公司网站页面google seo实战教程
  • 做网站公司排名多少钱360收录提交
  • 在职考研哪个网站做的好中国十大网络销售公司
  • 赣州做网站jx25舆情分析
  • 在库言库建筑网站附近电脑培训学校
  • 动态网站开发代码十大搜索引擎地址
  • 广东疫情最新通知今天厦门seo关键词排名
  • 龙南城市建设局网站微信客户管理系统
  • 网站建设 成都移投界seo
  • 湖州本地做网站游戏推广怎么做挣钱
  • 张家港网站制作公司网站一键生成
  • 济南做网站要多少钱松原头条新闻今日新闻最新
  • 网站建设税率网站营销与推广
  • 电商网站购物流程金昌网站seo
  • 大屏网页设计网站中国突然宣布一重磅消息
  • 网站备案后怎么做win优化大师官网
  • 长沙市城市建设档案馆网站如何做好市场推广
  • 网站 建设 开发 协议酒店seo是什么意思
  • 深圳 企业网站建设谷歌推广和seo
  • 做网站花了2万多app开发多少钱
  • 做网站时遇到的问题安徽网络优化公司排名
  • 绍兴网站建设解决方案a站
  • 武汉海绵城市建设有限公司网站濮阳市网站建设
  • 使用 加速乐 网站变慢百度百科创建
  • 烟台网站建设联系电话有哪些平台可以发布推广信息
  • wordpress社区论坛模板如何优化关键词的排名
  • 如何建立网站服务器aso优化{ }贴吧
  • 请人开发一个app要多少钱seo创业
  • 大型购物网站建设网络营销策划书1500字
  • 蛋糕网站建设的目的百度权重等级