zoukankan      html  css  js  c++  java
  • spring开发_Spring_DataSource

    项目结构:

    http://www.cnblogs.com/hongten/gallery/image/112745.html

    /spring_2100_spring_dataSource/src/com/b510/db/SpringDataSource.java

     1 package com.b510.db;
    2
    3 import java.sql.Connection;
    4 import java.sql.ResultSet;
    5 import java.sql.SQLException;
    6 import java.sql.Statement;
    7 import java.util.ArrayList;
    8 import java.util.List;
    9
    10 import javax.annotation.Resource;
    11 import javax.sql.DataSource;
    12
    13 import com.b510.domain.Person;
    14
    15 public class SpringDataSource {
    16
    17 private DataSource dataSource;
    18
    19 public DataSource getDataSource() {
    20 return dataSource;
    21 }
    22
    23 @Resource
    24 public void setDataSource(DataSource dataSource) {
    25 this.dataSource = dataSource;
    26 }
    27
    28 /**
    29 * 保存一条记录
    30 *
    31 * @param p
    32 * Person的一个实例对象
    33 */
    34 public void save(Person p) {
    35 String sql = "insert into person(name,age,sex)values(" + "'"
    36 + p.getName() + "'" + "," + "'" + p.getAge() + "'" + "," + "'"
    37 + p.getSex() + "'" + ")";
    38 Connection conn = null;
    39 try {
    40 conn = dataSource.getConnection();
    41 Statement statement = conn.prepareStatement(sql);
    42 statement.executeUpdate(sql);
    43 } catch (SQLException e) {
    44 e.printStackTrace();
    45 } finally {
    46 try {
    47 conn.close();
    48 } catch (SQLException e) {
    49 e.printStackTrace();
    50 }
    51 }
    52 }
    53
    54 /**
    55 * 获取所有记录
    56 *
    57 * @return 返回一个list对象
    58 */
    59 public List<Person> getPerson() {
    60 String sql = "select * from person";
    61 Connection conn = null;
    62 List<Person> list = new ArrayList<Person>();
    63 try {
    64 conn = dataSource.getConnection();
    65 Statement statement = conn.prepareStatement(sql);
    66 ResultSet rs = statement.executeQuery(sql);
    67 Person person = null;
    68 while (rs.next()) {
    69 person = new Person();
    70 person.setId(rs.getInt("id"));
    71 person.setName(rs.getString("name"));
    72 person.setAge(rs.getInt("age"));
    73 person.setSex(rs.getString("sex"));
    74 list.add(person);
    75 }
    76 } catch (SQLException e) {
    77 e.printStackTrace();
    78 } finally {
    79 try {
    80 conn.close();
    81 } catch (SQLException e) {
    82 e.printStackTrace();
    83 }
    84 }
    85 return list;
    86 }
    87 }

    /spring_2100_spring_dataSource/src/com/b510/domain/Person.java

     1 package com.b510.domain;
    2
    3 import org.springframework.stereotype.Component;
    4
    5 /**
    6 * Person实体类
    7 *
    8 * @author Hongten
    9 *
    10 */
    11 @Component
    12 public class Person implements java.io.Serializable {
    13
    14 // Fields
    15
    16 /**
    17 * 版本号
    18 */
    19 private static final long serialVersionUID = -47270870639923184L;
    20 /**
    21 * id号
    22 */
    23 private Integer id;
    24 /**
    25 * 姓名
    26 */
    27 private String name;
    28 /**
    29 * 年龄
    30 */
    31 private Integer age;
    32 /**
    33 * 性别
    34 */
    35 private String sex;
    36
    37 // Constructors
    38
    39 /** default constructor */
    40 public Person() {
    41 }
    42
    43 /** minimal constructor */
    44 public Person(String name) {
    45 this.name = name;
    46 }
    47
    48 /** full constructor */
    49 public Person(String name, Integer age, String sex) {
    50 this.name = name;
    51 this.age = age;
    52 this.sex = sex;
    53 }
    54
    55 // Property accessors
    56
    57 public Integer getId() {
    58 return this.id;
    59 }
    60
    61 public void setId(Integer id) {
    62 this.id = id;
    63 }
    64
    65 public String getName() {
    66 return this.name;
    67 }
    68
    69 public void setName(String name) {
    70 this.name = name;
    71 }
    72
    73 public Integer getAge() {
    74 return this.age;
    75 }
    76
    77 public void setAge(Integer age) {
    78 this.age = age;
    79 }
    80
    81 public String getSex() {
    82 return this.sex;
    83 }
    84
    85 public void setSex(String sex) {
    86 this.sex = sex;
    87 }
    88
    89 }

    /spring_2100_spring_dataSource/src/com/b510/test/SpringTest.java

     1 package com.b510.test;
    2
    3 import java.util.List;
    4
    5 import org.springframework.context.ApplicationContext;
    6 import org.springframework.context.support.ClassPathXmlApplicationContext;
    7
    8 import com.b510.db.SpringDataSource;
    9 import com.b510.domain.Person;
    10
    11 public class SpringTest {
    12
    13 /**
    14 * @param args
    15 */
    16 public static void main(String[] args) {
    17 ApplicationContext act = new ClassPathXmlApplicationContext("bean.xml");
    18 SpringDataSource sds = (SpringDataSource) act.getBean("sds");
    19 Person person = new Person("hw", 20, "M");
    20 sds.save(person);
    21
    22 List<Person> list = sds.getPerson();
    23 for (Person p : list) {
    24 System.out.println("id=" + p.getId() + ",name=" + p.getName()
    25 + ",age=" + p.getAge() + ",sex=" + p.getSex());
    26 }
    27 }
    28
    29 }

    /spring_2100_spring_dataSource/src/bean.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
    2 <beans xmlns="http://www.springframework.org/schema/beans"
    3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    4 xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
    5 xsi:schemaLocation="http://www.springframework.org/schema/beans
    6 http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    7 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
    8 http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
    9 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
    10 <context:annotation-config />
    11
    12 <!-- 读取jdbc.properties配置文件 -->
    13 <context:property-placeholder location="classpath:jdbc.properties" />
    14
    15 <!-- 配置数据源 -->
    16 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
    17 destroy-method="close">
    18 <property name="driverClassName" value="${driverClassName}" />
    19 <property name="url" value="${url}" />
    20 <property name="username" value="${username}" />
    21 <property name="password" value="${password}" />
    22 <!-- 连接池启动时的初始值 -->
    23 <property name="initialSize" value="${initialSize}" />
    24 <!-- 连接池的最大值 -->
    25 <property name="maxActive" value="${maxActive}" />
    26 <!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 -->
    27 <property name="maxIdle" value="${maxIdle}" />
    28 <!-- 最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->
    29 <property name="minIdle" value="${minIdle}" />
    30 </bean>
    31
    32 <bean id="sds" class="com.b510.db.SpringDataSource"></bean>
    33 </beans>

    /spring_2100_spring_dataSource/src/jdbc.properties

    1 driverClassName=org.gjt.mm.mysql.Driver
    2 url=jdbc\:mysql\://localhost\:3307/spring?useUnicode\=true&characterEncoding\=UTF-8
    3 username=root
    4 password=root
    5 initialSize=1
    6 maxActive=300
    7 maxIdle=2
    8 minIdle=1

     运行结果:

     1 2012-3-14 17:23:22 org.springframework.context.support.AbstractApplicationContext prepareRefresh
    2 信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@1a05308: display name [org.springframework.context.support.ClassPathXmlApplicationContext@1a05308]; startup date [Wed Mar 14 17:23:22 CST 2012]; root of context hierarchy
    3 2012-3-14 17:23:22 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
    4 信息: Loading XML bean definitions from class path resource [bean.xml]
    5 2012-3-14 17:23:22 org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
    6 信息: Bean factory for application context [org.springframework.context.support.ClassPathXmlApplicationContext@1a05308]: org.springframework.beans.factory.support.DefaultListableBeanFactory@74c3aa
    7 2012-3-14 17:23:22 org.springframework.core.io.support.PropertiesLoaderSupport loadProperties
    8 信息: Loading properties file from class path resource [jdbc.properties]
    9 2012-3-14 17:23:22 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
    10 信息: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@74c3aa: defining beans [org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,dataSource,sds]; root of factory hierarchy
    11 id=2,name=hanyuan,age=21,sex=男
    12 id=3,name=hongten,age=21,sex=男
    13 id=4,name=hongten,age=21,sex=男
    14 id=5,name=hello,age=12,sex=M
    15 id=6,name=hongten,age=12,sex=M
    16 id=7,name=hongten2,age=12,sex=M
    17 id=8,name=hw,age=20,sex=M
  • 相关阅读:
    Cookie、Session和自定义分页
    logstash 运行
    php json数据保留原样中文
    linux 32位还是64位
    php之isset 与 empty 区别
    php 订单
    个人分类
    laravel 创建自己的函数
    lumen框架导入数据异常
    yum安装samba服务器的安装
  • 原文地址:https://www.cnblogs.com/hongten/p/java_spring_dataSource.html
Copyright © 2011-2022 走看看