Spring : 使用 jdbcTemplate_value="${jdbc.driver}-程序员宅基地

技术标签: Spring  

1.jdbc.properteis   :  参数配置文件

 

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///spring1
jdbc.username=root
jdbc.password=root

2.  applicationContext.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"
       xmlns:contxt="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<!--  引入配置文件   -->
  <contxt:property-placeholder location="jdbc.properteis"/>
    <!--配置 c3p0 连接池  -->
    <!--c3p0-->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<!--        <property name="driverClass" value="com.mysql.jdbc.Driver"/>-->
<!--        <property name="jdbcUrl" value="jdbc:mysql:///spring1"/>-->
<!--        <property name="user" value="root"/>-->
<!--        <property name="password" value="root"/>-->
    <property name="driverClass" value="${jdbc.driver}"/>
    <property name="jdbcUrl" value="${jdbc.url}"/>
    <property name="user" value="${jdbc.username}"/>
     <property name="password" value="${jdbc.password}"/>
    </bean>
<!--  配置druid    -->
   <bean id="druid" class="com.alibaba.druid.pool.DruidDataSource">
    <property name="driverClassName" value="${jdbc.driver}"/>
    <property name="url"  value="${jdbc.url}" />
    <property name="username"  value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
<!--       <property name="driverClassName" value="com.mysql.jdbc.Driver"/>-->
<!--       <property name="url" value="jdbc:mysql:///spring1"/>-->
<!--       <property name="username" value="root"/>-->
<!--       <property name="password" value="root"/>-->
   </bean>
<!-- <bean id="dataSource" class=""></bean>-->

    <!--配置JdbcTemplate-->
    <!--   使用  c3p0  连接池   -->
   <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
     <constructor-arg name="dataSource"   ref="druid" />
   </bean>
</beans>

3.     maven  :   pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.zengjx</groupId>
    <artifactId>day38spring_jdbctemplate</artifactId>
    <version>1.0-SNAPSHOT</version>

   <dependencies>
       <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-context</artifactId>
           <version>5.1.2.RELEASE</version>
       </dependency>
       <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-jdbc</artifactId>
           <version>5.1.2.RELEASE</version>
       </dependency>
       <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-aop</artifactId>
           <version>5.1.2.RELEASE</version>
       </dependency>
       <dependency>
<!--      数据库     -->
           <groupId>mysql</groupId>
           <artifactId>mysql-connector-java</artifactId>
           <version>5.1.47</version>
       </dependency>
       <dependency>

           <!--  spring  整合    juinit    -->
           <groupId>org.springframework</groupId>
           <artifactId>spring-test</artifactId>
           <version>5.1.2.RELEASE</version>
       </dependency>
<!--      c3p0  连接池   -->
       <dependency>
           <groupId>com.mchange</groupId>
           <artifactId>c3p0</artifactId>
           <version>0.9.5.3</version>
       </dependency>
        <!-- druid  -->
       <dependency>
           <groupId>com.alibaba</groupId>
           <artifactId>druid</artifactId>
           <version>1.1.10</version>
       </dependency>
       <dependency>
           <groupId>junit</groupId>
           <artifactId>junit</artifactId>
           <version>4.12</version>
       </dependency>
   </dependencies>
</project>

4.  domain:

package com.zengjx.domain;

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;
    }

    @Override
    public String toString() {
        return "Account{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", money='" + money + '\'' +
                '}';
    }
}

 5.   mysql  表:

6.   测试类:

  

//  查询单个
@Test
public   void   test2(){

    String   sql ="select   *  from   account  where  id=5 ";
    Map<String, Object> queryForMap = jdbcTemplate.queryForMap(sql);
    System.out.println(queryForMap);

}

   注意 查询jdbcTemplate.queryForMap  如果  返回的是多个结果 那么会报错:

//  查询单个
@Test
public   void   test2(){

    String   sql ="select   *  from   account  where  id=5 ";
    Map<String, Object> queryForMap = jdbcTemplate.queryForMap(sql);
    System.out.println(queryForMap);

}

  错误信息:

信息: {dataSource-1} inited

org.springframework.dao.IncorrectResultSizeDataAccessException: Incorrect result size: expected 1, actual 4

插入数据:

@Test
public    void   test_insert(){

 String   sql="INSERT  INTO account   VALUES(?,?,?);";

    int update = jdbcTemplate.update(sql,null,"ttt",2222f);
    System.out.println(update);

}

 

//更新数据
@Test
public   void   test_update(){

 String  sql =" UPDATE  account  SET   NAME  =? ,  money=?  WHERE   id =?";
    int update = jdbcTemplate.update(sql, "sasas", 1212f,7);
    System.out.println(update);
}
@Test
//删除数据
public   void    test_delete(){

String    sql =" DELETE  FROM   account   WHERE   id =?;";
    int update = jdbcTemplate.update(sql, 5);
    System.out.println(update);

}
//查找一个
@Test
public   void   test_queryOne(){
    String  sql =" SELECT    * FROM   account    WHERE   id=  ? ";
    Account account = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<>(Account.class), 3);
    System.out.println(account);

}
//

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/oDianZi1234567/article/details/101376334

智能推荐

拼接点云_点云拼接 位姿矩阵 欧拉矩阵-程序员宅基地

文章浏览阅读894次。#include &lt;iostream&gt;#include &lt;fstream&gt;using namespace std;#include &lt;opencv2/core/core.hpp&gt;#include &lt;opencv2/highgui/highgui.hpp&gt;#include &lt;Eigen/Geometry&gt; #include &l..._点云拼接 位姿矩阵 欧拉矩阵

mapbox底图切换-程序员宅基地

文章浏览阅读1k次,点赞29次,收藏26次。本案例使用Mapbox GL JavaScript库进行底图切换。_mapbox底图切换

CISCO路由器AAA介绍及相关路由配置-程序员宅基地

文章浏览阅读1.5k次。CISCO AAA3A概念:认证authentication 授权authorization 记帐 accountingcisco为路由器和交换机提供多种3A服务的方法:1 自包含AAA 路由器/NAS自身包含AAA服务 NAS(网络访问服务器)2 CISCO SECURE ACS 路由器/NAS上的AAA服务与外部CISCO SECUR..._cisco aaa accouting

js 获取当前日期,再加10天工作日-程序员宅基地

文章浏览阅读1k次。可以使用 JavaScript 的内置函数 Date() 来获取当前日期,然后再使用 setDate() 方法来设置日期,加上 10 天,最后使用 getDate() 方法来获取最终的日期。具体的代码如下:let today = new Date();today.setDate(today.getDate() + 10);console.log(today.getDate());..._js 日期加10天

Java设计模式圣经连载(01)-简单工厂模式_java设计模式 有一个农场,生产各种水果,有苹果,草莓,葡萄,农场的园丁要根据客户的-程序员宅基地

文章浏览阅读1.3k次。1.1 简单工厂(Simple Factory)模式简单工厂模式是类的创建,又叫静态工厂方法(Static Factory Methord)模式。简单工厂模式是由一个工厂对象决定创造哪一种产品类的实例。 1.1.1 工厂模式的几种形态工厂模式专门负责将大量有共同接口的类实例化。工厂模式可以动态的决定将哪一个类实例化,工厂模式有以下几种形态: 简单工_java设计模式 有一个农场,生产各种水果,有苹果,草莓,葡萄,农场的园丁要根据客户的

随便推点

myeclipse的优化与字体颜色格式的配置_myexlipse编辑器=文本颜色配置-程序员宅基地

文章浏览阅读796次。我平常用的ide就这两个,公司电脑是myeclipse,自己电脑装的是eclipse。我就把自己使用的一套配置记录一下,两个ide都可以用一、关于优化第一步: 取消自动validation validation有一堆,什么xml、jsp、jsf、js等等,我们没有必要全部都去自动校验一下,只是需要的时候才会手工校验一下! 取消方法: windows–&gt;perferences–&g..._myexlipse编辑器=文本颜色配置

Jmeter系列(56)- 详解 Weighted Switch Controller 权重控制器-程序员宅基地

文章浏览阅读938次。如果你想从头学习Jmeter,可以看看这个系列的文章哦https://www.cnblogs.com/poloyy/category/1746599.html简单介绍它能分配其子项目(Child Item)的权重,从而控制子项的执行概率它是一个插件,需要额外下载哦插件下载地址https://jmeter-plugins.org/权重控制器权重控制..._权重控制器

关于AD DRC 不能检测出没有连接 的错误_ad19.16地线没连上,确检查不出错误-程序员宅基地

文章浏览阅读2.8k次。快捷键T+D 进入设计规则检查 然后发现 un-routed net 没有勾选上,所以没法检查没有连接的线路这个错误,勾选以后就可以了。_ad19.16地线没连上,确检查不出错误

数据治理的 “独孤九剑”-程序员宅基地

文章浏览阅读543次。数据治理即对数据资产管理行使权力、控制和共享决策(规划、监测和执行)的系列活动。这个概念挺抽象,它既不是你每天干的数据采集、处理、建模、运维等生产工作,也不是数据质量管理、元数据管理,主数据管理等保障型工作,事实上,数据从业者95%的工作都跟数据治理本身没关系,但每时每刻都会受到数据治理活动的影响。刚接触数据治理的时候,我对要干什么也挺茫然的,经过2年的实践,我终于知道DAMA的数据治理到底在讲点..._数据治理的 “独孤九剑”

基于PIE-Engine的新疆地区棉花种植面积提取_pie-engine机器学习种植面积反演-程序员宅基地

文章浏览阅读3.6k次,点赞6次,收藏50次。前言农业是国民经济的基础,是人类社会的衣食之源、生存之本。遥感技术由于具有探测范围广、信息获取快、宏观性强等特点,已广泛应用于农作物分类识别和作物面积估算的研究中。传统的利用遥感手段进行农作物分类识别的方法,大多基于中低分辨率遥感影像(如Landsat、MODIS等)开展,但大量的混合像元会限制识别精度的提高。随着高分辨率的遥感影像不断免费开放,快速精准地获取作物信息为政府部门合理制定粮食政策、精准发放农作物补贴、适时调配农业机械等多方面具有重要意义。新疆作为中国最大的棉花种植基地,其棉花产量能够左右._pie-engine机器学习种植面积反演

【ViewUI】基础学习记录_view ui 使用-程序员宅基地

文章浏览阅读522次。新建一个项目,由于xcode版本更新,新构建的代码目录发生改变,多出了一个屏幕生命周期类(应该是这个意思吧,我猜的)SceneDelegate.m在AppDelegate.m中对兼容版本做了配置,如果是ios13和之前的版本要在AppDelegate.m中实现,AppDelegate.m加入以下代码。注意,如果在Appdelegate.m中使用UIwindow,但不在Appdelegate.h中声明UIwindow属性,会出现一个报错 :"-[AppDelegate setWindow:]: unrec_view ui 使用