您现在的位置是:首页 >其他 >Spring_jdbcTemplate基本使用网站首页其他

Spring_jdbcTemplate基本使用

xuebanub1 2024-06-17 10:19:28
简介Spring_jdbcTemplate基本使用

一、导入spring-jdbc和spring-tx坐标

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

二、创建数据库表和实体

applicationContext.xml中配置连接池JdbcTemplate

<!--加载jdbc.properties-->
<context:property-placeholder location="classpath:jdbc.properties"/>
<!--配置数据源-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <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>
<!--配置JDBCTemplate-->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    <property name="dataSource" ref="dataSource"/>
</bean>
  • jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=root
jdbc.password=root

在test数据库中创建account表

  • 表名:account
  • 两列:name和money
    在这里插入图片描述

三、创建JdbcTemplate对象

//获取spring容器
ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
//获取jdbcTemplate对象
JdbcTemplate jdbcTemplate = (JdbcTemplate) app.getBean("jdbcTemplate");

四、执行数据库操作

  • 向account表中添加数据{name=“tom”,money=5000}
//执行sql语句
int tom = jdbcTemplate.update("insert into account values (?,?)", "tom", "5000");
//输出结果
System.out.println(tom);

结果:1
表示成功

  • 查询name="张三"的数据
//查询一个对象
public void testQueryOne() {
    Account account = jdbcTemplate.queryForObject("select * from account where name=?", new BeanPropertyRowMapper<Account>(Account.class), "张三");
    System.out.println(account);
}
  • 查询所有数据
//查询所有数据,封装进list集合
public void testQueryAll() {
    System.out.println(jdbcTemplate.queryForList("select * from account"));
}

结果:[{name=tom, money=5000.0}, {name=张三, money=300.0}, {name=李四, money=500.0}]

  • 查询数据总数
//查询数据总数
public void testQueryCountAll() {
    Long count = jdbcTemplate.queryForObject("select count(*) from account", Long.class);
    System.out.println(count);
}
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。