标签:连接 javaapi 标准 数据库名 mysql rac inno select 数据库应用
JDBC(Java Data Base Connectivity,Java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序,并且可跨平台运行,并且不受数据库供应商的限制。
JDBC连接数据库的流程及其原理如下:
CREATE TABLE ‘user‘ ( ‘id‘ int(11) NOT NULL auto_increment, ‘name‘ varchar(255) default NULL, ‘age‘ int(11) default NULL, ‘sex‘ varchar(255) default NULL, PRIMARY KEY (‘id‘) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
public class Person { private String id; private String name; private String sex; private int age; //省略set get方法 }
public class PersonRowMapper implements RowMapper<Person>{ @Override public Person mapRow(ResultSet rs, int rowNum) throws SQLException { Person person=new Person(); person.setAge(rs.getInt("age")); person.setName(rs.getString("name")); person.setId(rs.getString("id")); person.setSex(rs.getString("sex")); return person; } }
public interface PersonService { public void save(Person person); public List<Person> getPersons(); } public class PersonServiceImpl implements PersonService { private JdbcTemplate jdbcTemplate; public void setJdbcTemplate(DataSource dataSource) { this.jdbcTemplate = new JdbcTemplate(dataSource); } public void save(Person p) { jdbcTemplate.update("insert in to person(person_id,name,age,sex,come_from) values(?,?,?,?,?)", new Object[]{p.getId(),p.getName(),p.getAge(),p.getSex()}, new int[]{Types.VARCHAR,Types.VARCHAR,Types.INTEGER,Types.VARCHAR}); } public List<Person> getPersons(){ List<Person> list=jdbcTemplate.query("select * from person", new PersonRowMapper()); return list; } }
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/test"/> <property name="username" value="root"/> <property name="password" value="123456"/> <!-- 连接池启动时候的初始连接数 --> <property name="initialSize" value="10"/> <!-- 最小空闲值 --> <property name="minIdle" value="5"/> <!-- 最大空闲值 --> <property name="maxIdle" value="20"/> <property name="maxWait" value="2000"/> <!-- 连接池最大值 --> <property name="maxActive" value="50"/> <property name="logAbandoned" value="true"/> <property name="removeAbandoned" value="true"/> <property name="removeAbandonedTimeout" value="180"/> </bean> <!-- 配置业务bean --> <bean id="personService" class="***.PersonServiceImpl"> <!-- 向dataSource注入数据源 --> <property name="jdbcTemplate" ref="dataSource"/> </bean> </beans>
public class JdbcTest { public static void main(String[] args) { ApplicationContext context=new ClassPathXmlApplicationContext("classpath:bean.xml"); PersonService service=(PersonService) context.getBean("personService"); System.out.println(service.getPersons().size()); } }
标签:连接 javaapi 标准 数据库名 mysql rac inno select 数据库应用
原文地址:http://www.cnblogs.com/wade-luffy/p/6079927.html