スプリングMVC学習(springとjdbc)
前のいくつかの文章はspringのiocとaopを勉強しました.springはJ 2 EEでの開発が多いことを知っていますから、データベースの操作が避けられないです.この文章はspringでjdbcの操作を勉強します.まず、springのコアjar commons-logging.jar spring.jarを導入するだけでなく、commons-pool.jar、mysql-connector-java-5110-bin.jar、comons-dbcp.jarの3つのjarファイルを導入する必要があります.データベースを操作するものです.
実はspringはjdbcを利用してデータベースを操作するのが簡単で、springはすでに私達のためにJdbcDaoSupportを提供しました.このクラスにはdataSource属性があります.そしてこの属性にset方法を提供しました.このdataSource属性は私達が操作するデータベースのいくつかの情報を含んでいます.私たちはJdbcDaoSupportから引き継ぐクラスを自分で定義して、dataSource属性の値を設定するだけで、データベースを操作できます.
そこで、まず、JdbcDaoSupport.javaから引き継ぐクラスを作ります.
MyJdbcTempleteのdataSource属性は、JdbcDaoSupportから継承されています.
JdbcTemplet 2.javaクラスで提供されるset方法は設定されています.ok、完成しました.この時、プログラムを実行しても、データをusersテーブルに追加できます.
でも、多くの場合、私達はこのようにデータベースを操作しません.springもhibernateをサポートしています.これはspringとHbernateを結合して使うので、データベースを操作するのがもっと便利で、安全です.
ダウンロード
実はspringはjdbcを利用してデータベースを操作するのが簡単で、springはすでに私達のためにJdbcDaoSupportを提供しました.このクラスにはdataSource属性があります.そしてこの属性にset方法を提供しました.このdataSource属性は私達が操作するデータベースのいくつかの情報を含んでいます.私たちはJdbcDaoSupportから引き継ぐクラスを自分で定義して、dataSource属性の値を設定するだけで、データベースを操作できます.
そこで、まず、JdbcDaoSupport.javaから引き継ぐクラスを作ります.
public class MyJdbcTemplete extends JdbcDaoSupport {
public int addUser() throws SQLException {
String sql = "insert into users(username,userpass) values('test','1234')";
JdbcTemplate jdbcTemplate = this.getJdbcTemplate();
jdbcTemplate.execute(sql);
return 0;
}
}
ここではデータベースの表にレコードを追加しました.しかし、この時、私達はまだそのデータベースに追加することが分かりません.データベースのユーザー名とパスワードも設定していません.だから、私達はappication Contact.xmlにdataSourceを配置して、このdataSourceをMyJdbcTempleteの属性に設定したいです.MyJdbcTempleteのdataSource属性は、JdbcDaoSupportから継承されています.
<?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-2.0.xsd">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<!-- mysql -->
<property name="driverClassName" value="com.mysql.jdbc.Driver">
</property>
<property name="url"
value="jdbc:mysql://localhost:3306/userinfo?useUnicode=true&characterEncoding=utf-8">
</property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>
<bean id="myJdbcTemplete" class="com.test.jdbc.MyJdbcTemplete">
<property name="dataSource" ref="dataSource"></property>
</bean>
</beans>
dataSourceは私のデータベースの基本情報を配置して、set方法でMyJdbcTempleteに設定します.この時テスト方法を作成します.MyJdbcTemplete templete = (MyJdbcTemplete) applicationContext.getBean("myJdbcTemplete");
try {
templete.addUser();
} catch (SQLException e) {
e.printStackTrace();
}
この時点でプログラムを実行すれば、usersテーブルにデータを追加することができます.簡単ではないですか?JdbcDaoSupportを継承して、this.getJdbcTemplete()を通じて、このJdbcTempleteのオブジェクトを通じてデータベースを操作することができます.JdbcTempleteを直接属性として、IOCに注入します.私はJdbcTemplet 2.javaコードを新たに作りました.package com.test.jdbc;
import java.sql.SQLException;
import org.springframework.jdbc.core.JdbcTemplate;
public class JdbcTemplete2 {
private JdbcTemplate jdbcTemplate;
public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
}
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public int addUser() throws SQLException {
String sql = "insert into users(username,userpass) values('test','3333')";
JdbcTemplate jdbcTemplate = this.getJdbcTemplate();
jdbcTemplate.execute(sql);
return 0;
}
}
は、JdbcTemplete属性を宣言し、set方法を設定し、その後、spring容器にこの属性のために値を付けても良いです.<bean id="jdbcTemplete" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"></property>
</bean>
<bean id="jdbcTemplete2" class="com.test.jdbc.JdbcTemplete2">
<property name="jdbcTemplate" ref="jdbcTemplete"></property>
</bean>
が見られます.まずspring容器を初期化してください.org.spring frame ebook.jdbc.co.co.jdbc.com.JdbcTemplateタイプのクラスです.このタイプは私達がJdbcTemplet 2のクラスで宣言した属性のタイプです.それから、この属性のためにdataSourceの値を設定します.完成したら、このtempleteはデータベースの操作能力があります.JdbcTemplet 2.javaクラスで提供されるset方法は設定されています.ok、完成しました.この時、プログラムを実行しても、データをusersテーブルに追加できます.
でも、多くの場合、私達はこのようにデータベースを操作しません.springもhibernateをサポートしています.これはspringとHbernateを結合して使うので、データベースを操作するのがもっと便利で、安全です.
ダウンロード