10.spring:常用的数据库代码.....(不长使用了解即可)
测试代码:
ApplicationContext ctx = new ClassPathXmlApplicationContext("JDBC.xml");
DataSource datasource = (DataSource)ctx.getBean("dataSource",DataSource.class);
//测试能否连上
//System.out.println(datasource);
JdbcTemplate jdbcTemplate = (JdbcTemplate) ctx.getBean("jdbcTemplate");
//执行update
//String sql = "update student set sname=? where id =?";
//jdbcTemplate.update(sql, "MrChengs",3);
String sql = "update student set sname = ? where id = ?";
jdbcTemplate.update(sql,"Mc",4 );
//批量更新:可以执行的目标方法insert update delete
//batchArgs:是Object[] 事物List类型,因为需要修改一条Object的数组,那么多条就需要多个数组
//String sql = "insert student(sname,sclass) values(?,?)";
//List<Object []> batchArgs = new ArrayList<>();
//batchArgs.add(new Object []{"Rui",1221});
//batchArgs.add(new Object []{"Ruis",1212});
//jdbcTemplate.batchUpdate(sql, batchArgs);
String sql1 = "insert into student(sname,sclass) values(?,?)";
List<Object []> batchArgs = new ArrayList<Object []>();
batchArgs.add(new Object [] {"asd",12});
batchArgs.add(new Object [] {"qwe",321});
jdbcTemplate.batchUpdate(sql1, batchArgs);
//从数据库中获取一条记录,实际得到的是一个对象
//queryForObject(String sql, Object[] args, RowMapper<T> rowMapper)
//其中的RowMapper指定如何去映射结果集的行,常用的实现类为BeanPropertyRowMapper
//使用SQL中的列的别名完成列名和属性别名的映射
//不支持级联属性:jdbcTemplate到底是jdbc的小工具,而不是ORM框架
//String sql = "select * from student where id =?";
//RowMapper<Student> rowMapper = new BeanPropertyRowMapper<Student>(Student.class);
//Student student = jdbcTemplate.queryForObject(sql, rowMapper, 3);
//System.out.println(student);
String sql2 = "select * from student where id = ?";
RowMapper<Student> rowMapper = new BeanPropertyRowMapper<Student>();
Student stu = jdbcTemplate.queryForObject(sql2, rowMapper);
//查到实体类的集合
//.query(String sql, RowMapper<Student> rowMapper, Object... args)
//String sql = "select * from student where id < ?";
//RowMapper<Student> rowMapper = new BeanPropertyRowMapper<Student>(Student.class);
//List<Student> stu = jdbcTemplate.query(sql, rowMapper,10);
//System.out.println(stu);
//获取单个列数据的值
//queryForObject(String sql, Class<Long> requiredType)
//String sql = "select count(id) from student";
//long count = jdbcTemplate.queryForObject(sql, Long.class);
//System.out.println(count);
///////////////////////////////////////////////////////////////////
//具名参数
//NamedParameterJdbcTemplate
//可以为参数起名字,参数多的情况下,这种方法的稳定正确性
NamedParameterJdbcTemplate namedParameterJdbcTemplate = (NamedParameterJdbcTemplate) ctx.getBean("namedParameterJdbcTemplate");
//.update(String sql, SqlParameterSource paramSource)
//String sql = "insert into student(sname,sclass) values(:sname,:sclass)";
//Map<String, Object> paramMap = new HashMap<String, Object>();
//paramMap.put("sname", "jack");
//paramMap.put("sclass", 3424);
//namedParameterJdbcTemplate.update(sql, paramMap);
//update(String sql, SqlParameterSource paramSource)
//String sql = "insert into student(sname,sclass) values(:sname,:sclass)";
//Student stu = new Student();
//stu.setSname("Tom");
//stu.setSclass(0000);
//SqlParameterSource paramSource = new BeanPropertySqlParameterSource(stu);
//namedParameterJdbcTemplate.update(sql, paramSource);
//事务简介
//用来确保数据的完整性和一致性
//他们被当作一个独立的单元,要么全部起作用,要么全部不起作用
//事物的四个特性
//-->原子性,一致性,隔离性,持久性
//从不同的事物管理机制API中抽取了一整套事物机制,开发人员不必了解底层的事物的Api,就可以利用这些事物管理机制
//有了这些事物管理机制,事物管理代码就能独立于特定的事物技术了
xml文件的配置:
<bean name="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://127.0.0.1:3307/shijian" />
<property name="username" value="root" />
<property name="password" value="1234" />
</bean>
<!-- 配置Spring的JdbcTemplate -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"></property>
</bean>
<!--namedParameterJdbcTemplate具名参数,可以使用具名参数,其没有无参的构造器,必须为其构造函数指定参数 -->
<bean id="namedParameterJdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
<constructor-arg ref="dataSource" ></constructor-arg>
</bean>
10.spring:常用的数据库代码.....(不长使用了解即可)的更多相关文章
- spring jdbc分离数据库代码和java代码
读取配置文件类 package com.eshore.ismp.contract.sql; import java.io.FileInputStream; import java.io.FileNot ...
- 10分钟理解Android数据库的创建与使用(附具体解释和演示样例代码)
1.Android数据库简单介绍. Android系统的framework层集成了Sqlite3数据库.我们知道Sqlite3是一种轻量级的高效存储的数据库. Sqlite数据库具有以下长处: (1) ...
- Spring常用注解总结
转载自:https://www.cnblogs.com/xiaoxi/p/5935009.html 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点 ...
- Spring系列之Spring常用注解总结 转载
Spring系列之Spring常用注解总结 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点:1.如果所有的内容都配置在.xml文件中,那么.x ...
- 设计模式:java及spring观察者模式(有利于代码解耦)
http://www.cnblogs.com/softidea/p/5716870.html 什么是ApplicationContext? 它是Spring的核心,Context我们通常解释为上下文环 ...
- Spring 常用配置、Bean
spring模块 Spring-Core: Core包是框架的最基础部分,并提供依赖注入(Dependency Injection)管理Bean容器功能. Spring-Context:(Spring ...
- Java中常用的设计模式代码与理解
Java中常用的设计模式代码与理解 一.单例模式 1.饿汉式 (太饿了,类加载的时候就创建实例) /** * 饿汉式单例模式 */ public class HungrySingleInstance ...
- 04 Spring:01.Spring框架简介&&02.程序间耦合&&03.Spring的 IOC 和 DI&&08.面向切面编程 AOP&&10.Spring中事务控制
spring共四天 第一天:spring框架的概述以及spring中基于XML的IOC配置 第二天:spring中基于注解的IOC和ioc的案例 第三天:spring中的aop和基于XML以及注解的A ...
- php与数据库代码开发规范
php与数据库代码开发规范 1/25/2016 6:00:31 PM php对各类变量命名规范 目录名 文件命名 局部变量命名 使用英文动词名词,用下划线作为单词的分割,所有字母均使用小写 目录 up ...
随机推荐
- https Java SSLException protocol_version的问题解决方法
我们的业务代码里有需要用爬虫爬取商品的图片地址,然后在转到我们的服务器里的过程,中间当然少不了下载图片的过程,最近目标网站有些改变,就是之前http前缀的图片地址部分改成了https,然后就造成了一个 ...
- 1.http请求编程-->基础原理
一.技术分析 打开网页,不管我们请求的是静态资源还是动态资源,IIS都会根据ISAPI(微软和Process软件公司联合提出的Web服务器上的API标准)这一标准,将请求的文件根据文件后缀名的不同,转 ...
- JS实现单链表、单循环链表
链表 链表是一种物理存储单元上非线性.非连续性的数据结构(它在数据逻辑上是线性的),它的每个节点由两个域组成:数据域和指针域.数据域中存储实际数据,指针域则存储着指针信息,指向链表中的下一个元素或者上 ...
- Grunt项目构建-插件学习
听说过Grunt也有两年了,用了也有两年了,然而都是在别人搭好的架子上做开发,当想要对前端工程化整体把控时就一脸懵逼了! Grunt是什么? Grunt是一套web前端工程化构建工具.(ps:关于Gr ...
- maven <resources>标签
<build> <finalName>com_dubbo_config</finalName> <resources> <resource> ...
- js常用代码-笔记
1.字符串截取substr(str,length)返回从指定位置开始,截取length长度的子字符串.substring(start,end)返回从start开始到end结束的字符串.end不写就到结 ...
- Windows IO 性能简单测试
转自:http://bbs.csdn.net/topics/360111289, 有改动. #include <windows.h> #include <stdio.h> #i ...
- SQL Server ->> 数据一致性检查命令 -- DBCC CHECKDB
Comming soon!!! 参考文献: CHECKDB From Every Angle: Complete description of all CHECKDB stages
- 网络协议HTTP TCP/UDP 浏览器缓存 Restful(十)
一 TCP网络协议 1 建立TCP连接:三次握手原则 客户端通过向服务器端发送一个SYN来创建一个主动打开,作为三次握手的一部分.客户端把这段连接的序号设定为随机数 A. 服务器端应当为一个合法的SY ...
- Scrapy框架Windows下安装
在windows下安装好Python3 后,安装Scrapy也有许多种方法,我这里采用pip 安装.前提您已经安装了pip 直接在cmd命令行中 pip install Scrapy building ...