iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Spring如何连接数据库以及JDBC模板
  • 102
分享到

Spring如何连接数据库以及JDBC模板

spring数据库jdbc 2023-05-31 00:05:59 102人浏览 薄情痞子
摘要

这篇文章将为大家详细讲解有关spring如何连接数据库以及JDBC模板,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、创建工程、导包要想使用Spring的jdbc模板前,还需要导入相关的jar包:二、进

这篇文章将为大家详细讲解有关spring如何连接数据库以及JDBC模板,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、创建工程、导包

要想使用Spring的jdbc模板前,还需要导入相关的jar包:

Spring如何连接数据库以及JDBC模板

二、进行相关的bean的创建以及工具类的编写

1在数据库中创建了两张表,使用spring的jdbcTemplate中的api方法对这两张表进行操作

CREATE TABLE `t_dept` ( `deptid` int(11) NOT NULL, `deptname` varchar(20) CHARACTER SET utf8 DEFAULT NULL, `remark` varchar(30) CHARACTER SET utf8 DEFAULT NULL, PRIMARY KEY (`deptid`)) ENGINE=InnoDB DEFAULT CHARSET=gbk COLLATE=gbk_bin;
CREATE TABLE `user` ( `USER_ID` int(11) NOT NULL, `USER_NAME` varchar(11) DEFAULT NULL, `USER_PASSWord` varchar(11) DEFAULT NULL, `USER_ADDRESS` varchar(25) DEFAULT NULL, PRIMARY KEY (`USER_ID`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2创建实体bean

package com.bean;public class DeptBean { private int deptid; private String deptname; private String remark; public DeptBean() {  super(); } public DeptBean(int deptid, String deptname, String remark) {  super();  this.deptid = deptid;  this.deptname = deptname;  this.remark = remark; } public int getDeptid() {  return deptid; } public void setDeptid(int deptid) {  this.deptid = deptid; } public String getDeptname() {  return deptname; } public void setDeptname(String deptname) {  this.deptname = deptname; } public String getRemark() {  return remark; } public void setRemark(String remark) {  this.remark = remark; }}

3创建spring的工具类——SpringUtil.java

package com.util;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class SpringUtil { // 定义属性 private static ApplicationContext context; // 读取配置文件 static {  context = new ClassPathXmlApplicationContext("spring.xml"); } // 定义一个方法,判断bean是否为空,如果不为空的,获取这个bean public static Object getBean(String beanName) {  // 定义一个空对象  Object obj = null;  // 如果beanName不为空的话,那么根据这个beanName获取到bean对象,赋值给obj并返回  if (beanName != null && !beanName.equals("")) {   obj = context.getBean(beanName);  }  return obj; }}

4进行配置文件的相关配置——spring.xml文件的配置

因为要介绍的API方法可能比较多,所以一次性将写过的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:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context   http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/tx  http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop  http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">  <!-- 方式一:   配置使用ioc:直接引用  -->  <!-- 首先需要引入一个驱动,然後到這驱动类下面,去查看他的源代码,一下是mysql需要注入的对象 -->  <bean name="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">   <property name="driverClassName" value="com.Mysql.jdbc.Driver"></property>   <property name="url" value="jdbc:mysql://localhost:3306/spring_jdbc_test"></property>   <property name="username" value="root"></property>   <property name="password" value="root"></property>  </bean>    <!-- 使用DI注入的构造方法注入的方式来注入,并且查询我们的数据库中的数据。    注意这里我们还需要一我们之前的dataSource作为引用  -->  <bean name="testMain_2" class="com.jdbc.TestMain_2">   <property name="dataSource" ref="dataSource"></property>  </bean>  <!-- 使用我们的模板来获取我们的数据库中的数据 -->  <bean name="testMain_3" class="com.jdbc.TestMain_3">   <!-- 首先我们还是需要引入我们的数据库资源,也就是我们之前已经配置过的dataSource -->   <property name="dataSource" ref="dataSource"></property>  </bean>    <!-- 方式四 -->  <!-- 配置我们模板,然后在类就只要将这个模板用构造方法的方式注入就可以了 -->  <bean name="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">   <property name="dataSource" ref="dataSource"></property>  </bean>  <!-- 配置我们的testMain_4,然后引用我们上面配置的模板 -->  <bean name="testMain_4" class="com.jdbc.TestMain_4">   <property name="jdbcTemplate" ref="jdbcTemplate"></property>  </bean>    <!-- 方式五:    直接继承JdbcDaoSupport这个父类,然后用里面的方法获取到模板,    从而获取到数据。    备注:这个是最完美的获取数据的方式,以后一般都是使用这种方式!!!  -->  <bean name="testMain_5" class="com.jdbc.TestMain_5">   <property name="dataSource" ref="dataSource"></property>  </bean>    <!-- 使用spring配置的方式操作我们的DDL语句 -->  <bean name="testMain_6" class="com.jdbc.TestMain_6">   <property name="dataSource" ref="dataSource"></property>  </bean>    <!-- 使用spring配置的方式操作我们的DML语句 -->  <bean name="testMain_7" class="com.jdbc.TestMain_7">   <property name="dataSource" ref="dataSource"></property>  </bean>    <!-- 使用JdbcTemplate模板中的命名参数来操作我们的DML语句 -->  <bean name="testMain_8" class="com.jdbc.TestMain_8">   <property name="dataSource" ref="dataSource"></property>   </bean>    <!-- 使用JdbcTemplate模板对于查询语句的封装 -->  <bean name="testMain_9" class="com.jdbc.TestMain_9">   <property name="dataSource" ref="dataSource"></property>  </bean>  </beans>

5介绍spring对于jdbc的模板的支持

(1)数据库的连接

对应xml中的配置为:

<!-- 方式一:   配置使用IOC:直接引用  -->  <!-- 首先需要引入一个驱动,然後到這驱动类下面,去查看他的源代码,一下是mysql需要注入的对象 -->  <bean name="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">   <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>   <property name="url" value="jdbc:mysql://localhost:3306/spring_jdbc_test"></property>   <property name="username" value="root"></property>   <property name="password" value="root"></property>  </bean>

对应的测试类:

package com.jdbc;import java.sql.Connection;import java.sql.SQLException;import javax.sql.DataSource;import com.util.SpringUtil;public class TestMain_1 { public static void main(String[] args) {    DataSource datasource=(DataSource)SpringUtil.getBean("dataSource");  Connection conn=null;  try{   conn=datasource.getConnection();  }catch(SQLException e){   e.printStackTrace();  }  System.out.println(conn);//测试是否能够输出连接 }}

测试结果:

Spring如何连接数据库以及JDBC模板

由此可见测试成功可以获取到相应的数据库连接。

(2)测试从创建的user表中查询出相应的数据

对应xml配置为:

<!-- 使用DI注入的构造方法注入的方式来注入,并且查询我们的数据库中的数据。    注意这里我们还需要一我们之前的dataSource作为引用  -->  <bean name="testMain_2" class="com.jdbc.TestMain_2">   <property name="dataSource" ref="dataSource"></property>  </bean>

对应的测试类为:

package com.jdbc;import java.sql.Connection;import java.sql.ResultSet;import javax.sql.DataSource;import com.mysql.jdbc.Statement;import com.util.SpringUtil;public class TestMain_2 { // 使用构造方法注入 public DataSource datasource; public void setDataSource(DataSource datasource) {  this.datasource = datasource; }  public void list() {    Connection conn = null;  Statement stmt = null;  ResultSet rs = null;  String sql = "select * from user";  try {   conn = datasource.getConnection();   stmt = (Statement) conn.createStatement();   rs = stmt.executeQuery(sql);   while (rs.next()) {    System.out.println(rs.getInt("user_id") + "\t" + rs.getString("user_name") + "\t"      + rs.getString("user_password") + "\t" + rs.getString("user_address"));   }  } catch (Exception e) {   e.printStackTrace();  } finally {     } } public static void main(String[] args) {  // 获取到我们bean对象  TestMain_2 testMain_2 = (TestMain_2) SpringUtil.getBean("testMain_2");  // 调用我们的list方法  testMain_2.list(); }}

测试结果:

Spring如何连接数据库以及JDBC模板

备注:本测试类,使用的是常用的纯粹的jdbc获取数据的方式。

(3)使用JdbcTemplate这个类来获取到后端的数据

对应的xml文件的配置为:

<!-- 使用我们的模板来获取我们的数据库中的数据 -->  <bean name="testMain_3" class="com.jdbc.TestMain_3">   <!-- 首先我们还是需要引入我们的数据库资源,也就是我们之前已经配置过的dataSource -->   <property name="dataSource" ref="dataSource"></property>  </bean>

对应的测试类:

package com.jdbc;import java.util.List;import java.util.Map;import javax.sql.DataSource;import org.springframework.jdbc.core.JdbcTemplate;import com.util.SpringUtil;public class TestMain_3 { // 使用构造方法注入 public DataSource datasource; public void setDataSource(DataSource datasource) {  this.datasource = datasource; } public void list() {    JdbcTemplate jdbcTemplate=new JdbcTemplate(this.datasource);  String sql="select * from user";  List<Map<String, Object>>userlist=jdbcTemplate.queryForList(sql);  for(Map<String, Object>rowMap:userlist){   System.out.println(rowMap);  } }  public static void main(String[] args) {  //获取到我们bean对象  TestMain_3 testMain_3=(TestMain_3)SpringUtil.getBean("testMain_3");  //调用我们的list方法  testMain_3.list(); }}

测试的结果:

Spring如何连接数据库以及JDBC模板

这种方式的话每次我们都要创建一个JdbcTemplate实例,这样子比较复杂,所以考虑能不能将这个类让Spring自己创建,然后在bean配置文件中引用数据源来达到目的。这就是下面要介绍的第四种方式。

(4)在配置文件中配置我们的模板类,让Spring生成需要的bean

对应的xml配置文件为:

<!-- 方式四 -->  <!-- 配置我们模板,然后在类就只要将这个模板用构造方法的方式注入就可以了 -->  <bean name="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">   <property name="dataSource" ref="dataSource"></property>  </bean>  <!-- 配置我们的testMain_4,然后引用我们上面配置的模板 -->  <bean name="testMain_4" class="com.jdbc.TestMain_4">   <property name="jdbcTemplate" ref="jdbcTemplate"></property>  </bean>

对应的测试类为:

package com.jdbc;import java.util.List;import java.util.Map;import org.springframework.jdbc.core.JdbcTemplate;import com.util.SpringUtil;public class TestMain_4 { // 使用构造方法的方式注入template public JdbcTemplate jdbcTemplate; public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {  this.jdbcTemplate = jdbcTemplate; } public void list() {    String sql = "select USER_NAME from user";  List<Map<String, Object>> userlist = this.jdbcTemplate.queryForList(sql);  for (Map<String, Object> rowMap : userlist) {   System.out.println(rowMap);  } } public static void main(String[] args) {  // 获取到我们bean对象  TestMain_4 testMain_4 = (TestMain_4) SpringUtil.getBean("testMain_4");  // 调用我们的list方法  testMain_4.list(); }}

测试结果:

Spring如何连接数据库以及JDBC模板

这种方式仍旧需要在xml中配置,而在spring中还有一种更加方便的方式就是直接继承JdbcDaoSupport这个类,这种方式是最简单的,也是最常用的方式。下面笔者就简单介绍一下这种方式的使用。

(5)继承JdbcDaoSupport类来获取数据库中的数据

对应的xml文件中的配置为:

<!-- 方式五:    直接继承JdbcDaoSupport这个父类,然后用里面的方法获取到模板,    从而获取到数据。    备注:这个是最完美的获取数据的方式,以后一般都是使用这种方式!!!  -->  <bean name="testMain_5" class="com.jdbc.TestMain_5">   <property name="dataSource" ref="dataSource"></property>  </bean>

对应的测试类为:

package com.jdbc;import java.util.List;import java.util.Map;import org.springframework.jdbc.core.support.JdbcDaoSupport;import com.util.SpringUtil;public class TestMain_5 extends JdbcDaoSupport {  public void list() {  String sql = "select * from user";  List<Map<String, Object>> userlist = this.getJdbcTemplate().queryForList(sql);  for (Map<String, Object> rowMap : userlist) {   System.out.println(rowMap);  } } public static void main(String[] args) {  // 获取到我们bean对象  TestMain_5 testMain_5 = (TestMain_5) SpringUtil.getBean("testMain_5");  // 调用我们的list方法  testMain_5.list(); }}

测试结果为:

Spring如何连接数据库以及JDBC模板

(6)使用Spring注入的方式来操作DDL语句

对应xml文件中的配置为:

<!-- 使用spring配置的方式操作我们的DDL语句 -->  <bean name="testMain_6" class="com.jdbc.TestMain_6">   <property name="dataSource" ref="dataSource"></property>  </bean>

对应的测试类为:

package com.jdbc;import org.springframework.jdbc.core.support.JdbcDaoSupport;import com.util.SpringUtil;public class TestMain_6 extends JdbcDaoSupport {  public void create() {  StringBuffer createSQL = new StringBuffer();  createSQL.append("create table T_Temp_XX(id int,testname varchar(30))");  this.getJdbcTemplate().execute(createSQL.toString()); }  public void alter() {  StringBuffer alterSQL = new StringBuffer();  alterSQL.append("alter table T_Temp_XX add testpassword varchar(30)");  this.getJdbcTemplate().execute(alterSQL.toString()); }  public void drop() {  StringBuffer dropSQL = new StringBuffer();  dropSQL.append("drop table T_Temp_XX");  this.getJdbcTemplate().execute(dropSQL.toString()); }  public static void main(String[] args) {  // 获取到我们bean对象  TestMain_6 testMain_6 = (TestMain_6) SpringUtil.getBean("testMain_6");  // 调用我们的方法,一次调用一个方法,打开数据库观察数据库是不是已经变化了  // testMain_6.create();  // testMain_6.alter();  testMain_6.drop(); }}

经过测试可以进行DDL操作。

(7)使用spring注入的方式进行DML操作

对应xml文件中的配置:

<!-- 使用spring配置的方式操作我们的DML语句 --><bean name="testMain_7" class="com.jdbc.TestMain_7"> <property name="dataSource" ref="dataSource"></property></bean>

对应测试类:

package com.jdbc;import java.sql.PreparedStatement;import java.sql.SQLException;import org.springframework.jdbc.core.PreparedStatementSetter;import org.springframework.jdbc.core.support.JdbcDaoSupport;import com.util.SpringUtil;public class TestMain_7 extends JdbcDaoSupport {  public void insert() {  int deptid = 1;  String deptname = "zhangsan";  String remark = "zhangsanzhenshuai";  StringBuffer insertSQL = new StringBuffer();  insertSQL.append("Insert Into T_Dept(");  insertSQL.append("deptid,deptname");  insertSQL.append(",remark");  insertSQL.append(") values(");  insertSQL.append("" + deptid + ",");  insertSQL.append("'" + deptname + "',");  insertSQL.append("'" + remark + "'");  insertSQL.append("");  insertSQL.append(")");  int rowCount = this.getJdbcTemplate().update(insertSQL.toString());  System.out.println("rowCount影响的行数= " + rowCount); }  public void update() {  StringBuffer updateSQL = new StringBuffer();  updateSQL.append("update t_dept set ");  updateSQL.append("deptname = ?,");  updateSQL.append("remark = ?");  updateSQL.append(" where deptid=?");  int rowCount = this.getJdbcTemplate().update(updateSQL.toString(), new PreparedStatementSetter() {   @Override   public void setValues(PreparedStatement ps) throws SQLException {    ps.setString(1, "lisi");    ps.setString(2, "lisizhenshuai");    ps.setInt(3, 1);   }  });  System.out.println("rowCount影响的行数=" + rowCount); }  public void delete() {  StringBuffer deleteSQL = new StringBuffer();  deleteSQL.append("delete from t_dept");  deleteSQL.append(" where deptid=?");    Object[] obj = { 1 };  int rowCount = this.getJdbcTemplate().update(deleteSQL.toString(), obj);  System.out.println("rowCount影响的行数=" + rowCount); } public static void main(String[] args) {  // 获取到bean对象  TestMain_7 testMain_7 = (TestMain_7) SpringUtil.getBean("testMain_7");  // 测试方法  // testMain_7.insert();  // testMain_7.update();  testMain_7.delete(); }}

经测试,可以实现DML操作中的增删改查。

(8)使用JdbcTemplate模板中的命名参数来操作我们的DML语句

对应xml中的配置为:

<!-- 使用JdbcTemplate模板中的命名参数来操作我们的DML语句 --><bean name="testMain_8" class="com.jdbc.TestMain_8"> <property name="dataSource" ref="dataSource"></property> </bean>

对应的测试类:

package com.jdbc;import java.util.HashMap;import java.util.Map;import org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource;import org.springframework.jdbc.core.namedparam.NamedParameterJdbcDaoSupport;import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;import com.bean.DeptBean;import com.util.SpringUtil;public class TestMain_8 extends NamedParameterJdbcDaoSupport {  public void insert(boolean flag_1, boolean flag_2) {  int deptid = 1;  String deptname = "zhangsan";  String remark = "zhangsanzhenshuai";  StringBuffer insertSQL = new StringBuffer();  insertSQL.append("insert into T_Dept(deptid");  if (flag_1) {   insertSQL.append(",deptname");  }  if (flag_2 == true) {   insertSQL.append(",remark");  }  insertSQL.append(") values(");  insertSQL.append(":deptid");  if (flag_1 == true) {   insertSQL.append(",:deptname");  }  if (flag_2 == true) {   insertSQL.append(",:remark");  }  insertSQL.append(")");  // 将数据放进我们的map中 备注:map中key的名称==命名参数的名称  Map<String, Object> paramMap = new HashMap<String, Object>();  paramMap.put("deptid", deptid);  paramMap.put("deptname", deptname);  paramMap.put("remark", remark);  int rowCount = this.getNamedParameterJdbcTemplate().update(insertSQL.toString(), paramMap);  System.out.println("rowCount影响的行数= " + rowCount); }  public void update() {  StringBuffer updateSQL = new StringBuffer();  updateSQL.append("update T_Dept set");  updateSQL.append(" deptname = :deptname,");  updateSQL.append(" remark = :remark");  updateSQL.append(" where deptid = :deptid");  updateSQL.append("");  // 获取到模板  NamedParameterJdbcTemplate template = this.getNamedParameterJdbcTemplate();  // 将数据放置到bean里面去  DeptBean deptbean = new DeptBean();  deptbean.setDeptid(1);  deptbean.setDeptname("lisi");  deptbean.setRemark("lisizhenshuai");  // 使用一个bean工厂的方法将预处理我们的bean  BeanPropertySqlParameterSource paramSource = new BeanPropertySqlParameterSource(deptbean);  // 调用模板方法更新数据  int rowCount = template.update(updateSQL.toString(), paramSource);  // 输出影响的行数  System.out.println("影响的行数rowCount=" + rowCount); } public static void main(String[] args) {  // 获取到bean对象  TestMain_8 testMain_8 = (TestMain_8) SpringUtil.getBean("testMain_8");  // 测试方法  // testMain_8.insert(true,true);//由这个参数来控制是不是插入某一个属性列的数据  testMain_8.update(); }}

(9)JdbcTemplate模板对于查询语句的封装

对应的xml文件的配置:

<!-- 使用JdbcTemplate模板对于查询语句的封装 --><bean name="testMain_9" class="com.jdbc.TestMain_9"> <property name="dataSource" ref="dataSource"></property></bean>

对应的测试类:

package com.jdbc;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.List;import java.util.Map;import java.util.Vector;import org.springframework.jdbc.core.BeanPropertyRowMapper;import org.springframework.jdbc.core.ColumnMapRowMapper;import org.springframework.jdbc.core.PreparedStatementSetter;import org.springframework.jdbc.core.RowMapper;import org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource;import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;import org.springframework.jdbc.core.support.JdbcDaoSupport;import com.bean.DeptBean;import com.util.SpringUtil;public class TestMain_9 extends JdbcDaoSupport{  public void one(){  System.out.println("==============================");  System.out.println("1:返回所有的对象");  String sql="select * from t_dept order by deptid asc";  List<Map<String, Object>>deptList=this.getJdbcTemplate().queryForList(sql);  for(Map<String, Object>rowMap:deptList){   System.out.println(rowMap);  }  System.out.println("==============================");  System.out.println("2:返回一条对象");    sql="select * from t_dept where deptid=1";  Map<String, Object>rowMap=this.getJdbcTemplate().queryFORMap(sql);  if(rowMap!=null){   System.out.println(rowMap);  }      sql="select count(1) from t_dept where deptid=1";//什么意思?  Integer dept_count=this.getJdbcTemplate().queryForObject(sql, Integer.class);  System.out.println("dept_count="+dept_count);    sql="select * from t_dept where deptid=1";  BeanPropertyRowMapper<DeptBean>rowMapper=new BeanPropertyRowMapper<DeptBean>(DeptBean.class);  //需要将返回的数据转换成bean对象  DeptBean deptbean=this.getJdbcTemplate().queryForObject(sql, rowMapper);  System.out.println(deptbean.getDeptid()+"\t"+deptbean.getDeptname()+"\t"+deptbean.getRemark());  System.out.println("==============================");   }  @SuppressWarnings({ "unchecked", "rawtypes" }) public void two(){  //1、处理有预编译的语句  String sql="select * from t_dept where deptname like ? order by deptid asc";  List<Map<String, Object>>deptList=this.getJdbcTemplate().query(sql, new PreparedStatementSetter() {   @Override   public void setValues(PreparedStatement ps) throws SQLException {    //查询带有"l"这个字符的所有对象    ps.setString(1, "%l%");   }  },new ColumnMapRowMapper());//这里代表返回的是一个什么类型  System.out.println(deptList);  //2、处理带有预编译的语句,并且返回的是一个javabean  List<DeptBean>deptList_2 = this.getJdbcTemplate().query(    sql, new PreparedStatementSetter() {     @Override     public void setValues(PreparedStatement ps)       throws SQLException {      ps.setString(1, "%l%");     }    }, new BeanPropertyRowMapper(DeptBean.class));  System.out.println(deptList_2);  //3、直接处理resultSet???????什么意思  List<Vector<String>>deptList_3=this.getJdbcTemplate().query(sql, new PreparedStatementSetter() {      @Override   public void setValues(PreparedStatement ps) throws SQLException {    ps.setString(1, "%l%");   }  },new RowMapper() {   @Override   public Object mapRow(ResultSet rs, int rowNum) throws SQLException {    int deptid = rs.getInt("deptid");    String deptname = rs.getString("deptname");    Vector<String> vector = new Vector<String>();    vector.add(String.valueOf(deptid));    vector.add(deptname);    return vector;   }  });  System.out.println(deptList_3); }   public void three(){//传一个bean条件,返回结果  //实例化一个对象  NamedParameterJdbcTemplate template=new NamedParameterJdbcTemplate(this.getDataSource());    //如果参数是javabean,那么返回值也就是javabean  String sql="select * from t_dept where deptname like :deptname and remark like :remark";  //创建一个bean,设置好查询的条件  DeptBean parambean=new DeptBean();  parambean.setDeptname("%l%");  parambean.setRemark("%shuai%");  //将创建好的bean放到查询语句的池子里面  BeanPropertySqlParameterSource paramSource=new BeanPropertySqlParameterSource(parambean);  BeanPropertyRowMapper<DeptBean> rowBean = new BeanPropertyRowMapper<DeptBean>(    DeptBean.class);  List<DeptBean>deptList=template.query(sql, paramSource, rowBean);  for(DeptBean deptbean:deptList){   System.out.println(deptbean.getDeptname()+"\t"+deptbean.getRemark());  } } public static void main(String[] args) {  //获取到bean对象  TestMain_9 testMain_9=(TestMain_9)SpringUtil.getBean("testMain_9");  //测试方法//  testMain_9.one();//  testMain_9.two();  testMain_9.three(); }}

关于“Spring如何连接数据库以及JDBC模板”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: Spring如何连接数据库以及JDBC模板

本文链接: https://www.lsjlt.com/news/222166.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Spring如何连接数据库以及JDBC模板
    这篇文章将为大家详细讲解有关Spring如何连接数据库以及JDBC模板,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、创建工程、导包要想使用Spring的jdbc模板前,还需要导入相关的jar包:二、进...
    99+
    2023-05-31
    spring 数据库 jdbc
  • JDBC | JDBC API详解及数据库连接池
    👑 博主简介:    🥇 Java领域新星创作者    🥇 阿里云开发者社区专家博主、星级博主、技术博主 🤝 交流社区:BoBooY(优质编程学习笔记社区) 前言:...
    99+
    2023-08-20
    java 数据库 mysql
  • jdbc如何连接oracle数据库
    要连接Oracle数据库,您需要执行以下步骤:1. 获取Oracle JDBC驱动程序:首先,您需要下载并获取Oracle JDBC...
    99+
    2023-08-08
    jdbc oracle
  • jdbc如何连接sqlserver数据库
    要连接SQL Server数据库,可以按照以下步骤使用JDBC: 1、确保已经安装了SQL Server数据库,并且已经创建了数据库...
    99+
    2024-04-18
    jdbc sqlserver
  • JDBC中如何连接数据库
    这篇文章主要为大家展示了“JDBC中如何连接数据库”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JDBC中如何连接数据库”这篇文章吧。连接数据库的步骤:注册驱动...
    99+
    2024-04-02
  • JDBC 连接数据库
    一、通过Driver接口直接连接 public Connection getConnectionByDriver() throws Exception{  ...
    99+
    2024-04-02
  • jdbc如何建立数据库连接
    使用JDBC建立数据库连接的步骤如下:1. 加载数据库驱动程序:首先需要加载特定数据库的驱动程序,例如MySQL的驱动程序是com....
    99+
    2023-10-25
    jdbc 数据库
  • python中jdbc如何连接数据库
    在Python中,可以使用`pyodbc`库来连接数据库。以下是一个连接MySQL数据库的示例:```pythonimport py...
    99+
    2023-08-23
    python jdbc 数据库
  • Java数据库连接(JDBC)
    JDBC(Java DataBase Connectivity) JDBC概念 JDBC 就是使用Java语言操作关系型数据库的一套API全称:( Java DataBase Connectivi...
    99+
    2023-09-22
    数据库 java mysql
  • JDBC---Java连接数据库
    第一章 JDBC概述 1.1 JDBC概述 jdbc是(Java Database Connectivity)单词的缩写,翻译为java连接数据库。是Java程序连接数据库的技术总称。 JDBC由两个...
    99+
    2023-10-20
    java 数据库 mysql
  • Spring如何连接Mysql数据库
    这篇文章主要介绍了Spring如何连接Mysql数据库,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、创建一个Maven项目二、导入坐标&emsp;在pom.xml...
    99+
    2023-06-29
  • 如何使用Jdbc连接不同数据库
    今天就跟大家聊聊有关如何使用Jdbc连接不同数据库,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.Jdbc连接Access数据库①通过控制面板&g...
    99+
    2024-04-02
  • jdbc怎么连接数据库
    小编给大家分享一下jdbc怎么连接数据库,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!jdbc连接数据库的步骤:1、加载jdbc驱动程序;2、创建数据库的连接;3...
    99+
    2023-06-14
  • jdbc 数据库的连接方法
    这篇文章主要介绍“jdbc 数据库的连接方法”,在日常操作中,相信很多人在jdbc 数据库的连接方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jdbc 数据库的连接方法”...
    99+
    2024-04-02
  • Java使用JDBC连接数据库
    目录一、JDBC简介二、JDBC中常用类和接口1、驱动程序管理类(DriverManager)2、声明类(Statement)3、数据库连接类 (Connection)4、结果集合类...
    99+
    2024-04-02
  • jdbc怎么连接mysql数据库
    要连接MySQL数据库,需要以下步骤:1. 加载MySQL的JDBC驱动程序。可以从MySQL官方网站下载并安装MySQL Conn...
    99+
    2023-08-19
    jdbc mysql数据库
  • jdbc怎么连接sqlserver数据库
    1、下载并安装SQL Server JDBC驱动程序,可以从Microsoft官方网站上下载相应的驱动程序。 2、在Java项目中导...
    99+
    2024-04-09
    jdbc sqlserver
  • Java怎样创建以JDBC连接数据库的程序
    今天就跟大家聊聊有关Java怎样创建以JDBC连接数据库的程序,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。JDBC连接数据库   ◆  创建一个以JDBC连接数...
    99+
    2023-06-17
  • Spring Boo如何t连接MySql数据库
    这篇文章将为大家详细讲解有关Spring Boo如何t连接MySql数据库,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Spring Boot有两种方法与数据库建立连接,一种是使用JdbcTemplate...
    99+
    2023-05-30
    spring boot mysql数据库
  • java中jdbc怎么连接数据库
    在Java中使用JDBC连接数据库的步骤如下:1. 下载并安装数据库驱动程序:首先需要从数据库官方网站下载相应的JDBC驱动程序,并...
    99+
    2023-09-15
    java jdbc 数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作