在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

Spring怎样进行数据库编程

107次阅读
没有评论

共计 6428 个字符,预计需要花费 17 分钟才能阅读完成。

本篇文章给大家分享的是有关 Spring 怎样进行数据库编程,丸趣 TV 小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着丸趣 TV 小编一起来看看吧。

  前言

先入门,把核心理解后再回过头来看这些我觉得效果更好,不知道说的对不对,要是理解不当,还望指教。此篇为 Spring 的数据库编程,主要讲 jdbcTemplate,让初学者直接上手。

数据库切入

数据库编程是互联网编程的基础,Spring 框架为开发者提供了 JDBC 模板模式,即 jdbcTemplate,它可以简化许多代码,需要提醒的是 jdbcTemplate 在实际应用中并不常用,但我觉得对新手来说苍蝇再小也是肉,要想往前走,就得把这些小肉先吃了。

Spring JDBC 配置

使用 Spring JDBC 操作数据库,需要对其进行配置,配置如下

!-- 配置 spring-jdbcTemplate--   !-- 配置数据源 --   bean id= dataSource   "MySQL" target="_blank" >MySQL 数据库驱动 --   property name= driverClassName  value= com.mysql.jdbc.Driver /property   !-- 连接数据库的 URL--   property name= url  value= jdbc:mysql://localhost:3306/bbb?useUnicode=true amp;characterEncoding=UTF-8 /property   !-- 连接数据库的用户名 --   property name= username  value= root /property   !-- 连接数据库的密码 --   property name= password  value= root /property   /bean   !-- 配置 JDBC 模板 --   bean id= jdbcTemplate   >

配置 JDBC 模板时需要将 dataSource 注入到 jdbcTemplate, 而在数据访问层 (Dao 类) 需要使用 jdbcTemplate 时也需要将 jdbc  Template 注入到对应的 Bean 中,我在这演示用最简单的注解注入

@Repository(userDao) public class UserDaoImpl implements UserDao { @Autowired // 使用配置文件中的 JDBC 模板  private JdbcTemplate jdbcTemplate; }

Spring Jdbc Template 的常用方法

在上面我们获取了 JDBC 模板,下面我来说如何使用它。首先需要了解 JdbcTemplate 常用的方法,该类的常用方法是 update 和 query.

1、public int update(String sql,Object args[])

该方法可以对数据表进行增加、修改、删除等操作。使用 args[]设置 SQL 语句中的参数,并返回更新的行数。

示例如下:

public void add() { String insertSql =  insert into user values(null,?,?)  Object parem1[] = { 成功 , 123456  jdbcTemplate.update(insertSql,parem1); System.out.println(UserDao 中的添加功能实现了  }

2、public List query(String sql,RowMapper rowMapper,Object args[])

该方法可以对数据表进行查询操作,rowMapper 将结果集映射到用户自定义的类中(前提是自定义类中的属性要与数据表的字段对应)。

示例如下:

public void query() { String selectSql =  select * from user  RowMapper User  rowMapper = new BeanPropertyRowMapper User (User.class); List User  list = jdbcTemplate.query(selectSql,rowMapper,null); System.out.println(UserDao 中的查询功能实现了  }

案例辅助

Pom.xml

dependencies   dependency   groupId junit /groupId   artifactId junit /artifactId   version 4.11 /version   scope test /scope   /dependency   dependency   groupId javax.servlet /groupId   artifactId javax.servlet-api /artifactId   version 3.1.0 /version   /dependency   dependency   groupId javax.servlet /groupId   artifactId jstl /artifactId   version 1.2 /version   /dependency   dependency   groupId mysql /groupId   artifactId mysql-connector-java /artifactId   version 5.1.38 /version   /dependency   !--spring 核心依赖 --   dependency   groupId org.springframework /groupId   artifactId spring-core /artifactId   version 5.1.5.RELEASE /version   /dependency   dependency   groupId org.springframework /groupId   artifactId spring-beans /artifactId   version 5.1.5.RELEASE /version   /dependency   dependency   groupId org.springframework /groupId   artifactId spring-context /artifactId   version 5.1.5.RELEASE /version   /dependency   dependency   groupId org.springframework /groupId   artifactId spring-aop /artifactId   version 5.1.5.RELEASE /version   /dependency   dependency   groupId org.springframework /groupId   artifactId spring-jdbc /artifactId   version 5.1.5.RELEASE /version   /dependency   dependency   groupId org.springframework /groupId   artifactId spring-web /artifactId   version 5.1.5.RELEASE /version   /dependency   dependency   groupId org.springframework /groupId   artifactId spring-webmvc /artifactId   version 5.1.5.RELEASE /version   /dependency   dependency   groupId org.springframework /groupId   artifactId spring-expression /artifactId   version 5.1.5.RELEASE /version   /dependency   dependency   groupId org.springframework /groupId   artifactId spring-tx /artifactId   version 5.1.5.RELEASE /version   /dependency   !-- 日志相关 --   dependency   groupId commons-logging /groupId   artifactId commons-logging /artifactId   version 1.2 /version   /dependency   /dependencies

spring-config.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:context= http://www.springframework.org/schema/context  xmlns:tx= http://www.springframework.org/schema/tx  xmlns:mvc= http://www.springframework.org/schema/mvc  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 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd    !-- 配置注解要扫描的包 --   context:component-scan base-package= com.my /context:component-scan   mvc:annotation-driven /mvc:annotation-driven   !-- 将指定类 TestDaoImpl 配置给 Spring, 让 Spring 创建其实例 --   bean id= testDIDao   >

User

package com.my.pojo; public class User { private int id; private String username; private String password; public User() { } public User(int id, String username, String password) { this.id = id; this.username = username; this.password = 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; } @Override public String toString() { return  User{  +  id=  + id +  , username=  + username +   +  , password=  + password +   + }  } }

UserDao

package com.my.dao; public interface UserDao { public void add(); public void delete(); public void update(); public void query(); }

UserDaoImpl

@Override public void update() { String updateSql =  update user set username=? , password=? where id =?  Object parem3[] = {修改 , 654321 ,3}; jdbcTemplate.update(updateSql,parem3); System.out.println(UserDao 中的修改功能实现了  } @Override public void query() { String selectSql =  select * from user  RowMapper User  rowMapper = new BeanPropertyRowMapper User (User.class); List User  list = jdbcTemplate.query(selectSql,rowMapper,null); System.out.println(UserDao 中的查询功能实现了  for (User user : list){ System.out.println(user); } } }

测试 Test3

package com.my.test; import com.my.dao.UserDao; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Test3 { @Autowired private UserDao userDao; public static void main(String[] args) { ApplicationContext appCon = new ClassPathXmlApplicationContext( spring-config.xml  // 从容器中获取目标对象  UserDao userDao = (UserDao) appCon.getBean(userDao  //userDao.add(); userDao.delete(); userDao.update(); userDao.query(); } }

测试结果

以上就是 Spring 怎样进行数据库编程,丸趣 TV 小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注丸趣 TV 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-17发表,共计6428字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 日韩乱视频| 国内精品久久毛片一区二区 | 色欲一区二区三区精品a片 色欲欲www成人网站 | 免费大片黄在线观看 | 中国大陆一级毛片 | 久久精品国产精品亚洲20 | 国产自产c区 | 久草视频精品 | 亚洲日韩国产一区二区三区 | 久久久国产精品免费视频 | 欧美性教育一区三区免费视频 | 亚洲福利一区 | 国产一级做a爰片久久毛片男 | 欧美亚洲综合在线 | 黄色在线观看免费视频 | 午夜在线网站 | 国产无av码在线观看 | 成人区人妻精品一区二区不卡视频 | 久久精品国产亚洲一区二区 | 久草免费在线播放 | 亚洲无av在线中文字幕 | 一区二区视频 | 日本爽爽爽爽爽爽在线观看免 | www.久久草 | 美女脱了内裤趴开腿让男生添 | 国产欧美一区二区三区在线 | 国产精品久久久久尤物 | 射死你天天日 | 免费国产成人午夜在线观看 | 天天夜碰日日摸日日澡性色av | 人人妻人人澡人人爽人人精品浪潮 | 国产精品久久成人网站 | 三级aaa黄特色 | 少妇熟女视频一区二区三区 | 国产成人亚洲毛片 | 国产午夜福利片 | 草草青 | 久久99亚洲精品久久久久网站 | 玩弄放荡人妻少妇系列视频 | 中国女人a毛片免费全部播放 | 中文字幕第一页国产 |