com.b510.db; java.sql.Connection; java.sql.ResultSet; java.sql.SQLException; java.sql.Statement; java.util.ArrayList; java.util.List; javax.annotation.Resource; javax.sql.DataSource; com.b510.domain.Person; SpringDataSource { DataSource dataSource; DataSource getDataSource() { dataSource; } @Resource setDataSource(DataSource dataSource) { .dataSource = dataSource; } save(Person p) { String sql = "insert into person(name,age,sex)values(" + "'" + p.getName() + "'" + "," + "'" + p.getAge() + "'" + "," + "'" + p.getSex() + "'" + ")"; Connection conn = ; { conn = dataSource.getConnection(); Statement statement = conn.prepareStatement(sql); statement.executeUpdate(sql); } (SQLException e) { e.printStackTrace(); } { { conn.close(); } (SQLException e) { e.printStackTrace(); } } } List getPerson() { String sql = "select * from person"; Connection conn = ; List list = ArrayList(); { conn = dataSource.getConnection(); Statement statement = conn.prepareStatement(sql); ResultSet rs = statement.executeQuery(sql); Person person = ; (rs.next()) { person = Person(); person.setId(rs.getInt("id")); person.setName(rs.getString("name")); person.setAge(rs.getInt("age")); person.setSex(rs.getString("sex")); list.add(person); } } (SQLException e) { e.printStackTrace(); } { { conn.close(); } (SQLException e) { e.printStackTrace(); } } list; } }
com.b510.domain; org.springframework.stereotype.Component; @Component Person java.io.Serializable { serialVersionUID = -47270870639923184L; Integer id; String name; Integer age; String sex; Person() { } Person(String name) { .name = name; } Person(String name,Integer age,String sex) { .name = name; .age = age; .sex = sex; } Integer getId() { .id; } setId(Integer id) { .id = id; } String getName() { .name; } setName(String name) { .name = name; } Integer getAge() { .age; } setAge(Integer age) { .age = age; } String getSex() { .sex; } setSex(String sex) { .sex = sex; } }
com.b510.test; java.util.List; org.springframework.context.ApplicationContext; org.springframework.context.support.ClassPathXmlApplicationContext; com.b510.db.SpringDataSource; com.b510.domain.Person; SpringTest { main(String[] args) { ApplicationContext act = ClassPathXmlApplicationContext("bean.xml"); SpringDataSource sds = (SpringDataSource) act.getBean("sds"); Person person = Person("hw",20,"M"); sds.save(person); List list = sds.getPerson(); (Person p : list) { System.out.println("id=" + p.getId() + ",name=" + p.getName() + ",age=" + p.getAge() + ",sex=" + p.getSex()); } } }
driverClassName=org.gjt.mm.mysql.Driver url=jdbc\:mysql\: username=root password=root initialSize=1 maxActive=300 maxIdle=2 minIdle=1
运行结果:
2012-3-14 17:23:22 org.springframework.context.support.AbstractApplicationContext prepareRefresh 信息: 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 2012-3-14 17:23:22 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions 信息: Loading XML bean definitions from path resource [bean.xml] 2012-3-14 17:23:22 org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory 信息: Bean factory application context [org.springframework.context.support.ClassPathXmlApplicationContext@1a05308]: org.springframework.beans.factory.support.DefaultListableBeanFactory@74c3aa 2012-3-14 17:23:22 org.springframework.core.io.support.PropertiesLoaderSupport loadProperties 信息: Loading properties file from path resource [jdbc.properties] 2012-3-14 17:23:22 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons 信息: 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 id=2,name=hanyuan,age=21,sex=男 id=3,name=hongten,sex=男 id=4,sex=男 id=5,name=hello,age=12,sex=M id=6,sex=M id=7,name=hongten2,sex=M id=8,name=hw,age=20,sex=M