jee、spring、spring mvc、mybatis 学习(六)
2016-08-15 15:57
435 查看
转载请申明出处:http://blog.csdn.net/qq5132834/article/details/52211902
在完成第五节spring、spring mvc配置文件的分离之后,这节里开始涉及数据库的连接了;连接数据库的方式方法有很多种,下面一一展示出来,在src类文件夹下新建包【com.zuk.database】。
1、JDBC数据库直连 :新建一个【DB.java】类文件;
2、采用【properties】文件的方式配置数据库链接信息,但是这种方式与上一种方式性质是一样,只是将数据库的驱动、url、用户、密码等信息存储在【properties】文件中。
在【src/sources】包中新建一个【jdbc.properties】文件,内容如下:
再在【com.zuk.database】中新建一个【DatabaseProperties.java】类,内容如下。
注意:获取【jdbc.properties】文件的路径的方式。
如果在【WEB-INF】文件夹中的话,则用:
3、采用【IoC】容器的方式建立数据链接,方式如下:
3.1新建一个java类【DatabaseJavaBean.java】内容如下:
3.2:、在【src/sources】文件夹中新建一个xml文件【database-javabean.xml】,内容如下:
注意:bean的初始化采用【property】标签初始化,所以对于【com.zuk.database.DatabaseJavaBean.java】类的属性必须添加【set】方法。
3.3、将【database-javabean.xml】文件注入【IoC】的方式有两种,一种是手动注入;一种是自动注入;
手动注入:
自动注入:
在【web.xml】文件中添加,路径是【classpath:sources/database-javabean.xml】:
然后采用【@Autowired】的方式使用
4、综上所述,数据库连接的方式如下:
5、上面的【database-javabean.xml】文件中数据库配置的方式,可以更进一不优化,直接关联【jdbc.properties】中的数据。具体怎么操作实现呢?如下:
5.1、在【spring.xml】文件中添加;
内容如下:
6、源代码:http://download.csdn.net/detail/qq5132834/9605733
在完成第五节spring、spring mvc配置文件的分离之后,这节里开始涉及数据库的连接了;连接数据库的方式方法有很多种,下面一一展示出来,在src类文件夹下新建包【com.zuk.database】。
1、JDBC数据库直连 :新建一个【DB.java】类文件;
package com.zuk.database; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; /** * @author 513283439@qq.com * 采用数据JDBC数据库直连的方式 * */ public class DB { public static Connection conn = null; /** * 建立数据库连接 * */ public static Connection getConnection(){ if(conn!=null){ return conn; }else{ try { //这里建立的是oracle数据连接 Class.forName("oracle.jdbc.OracleDriver") ; String url = "jdbc:oracle:thin:@//10.2.12.14:1521/GGRDAT" ; String username = "username" ; String password = "password" ; conn = DriverManager.getConnection(url , username , password ) ; } catch (Exception e) { e.printStackTrace(); } return conn; } } /** * 关闭数据库连接 * */ public static void closeConnection(){ if(conn!=null){ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } conn = null; } } }
2、采用【properties】文件的方式配置数据库链接信息,但是这种方式与上一种方式性质是一样,只是将数据库的驱动、url、用户、密码等信息存储在【properties】文件中。
在【src/sources】包中新建一个【jdbc.properties】文件,内容如下:
driver=oracle.jdbc.OracleDriver url=jdbc:oracle:thin:@//10.2.12.14:1521/GGRDAT user=username password=password
再在【com.zuk.database】中新建一个【DatabaseProperties.java】类,内容如下。
注意:获取【jdbc.properties】文件的路径的方式。
如果在【WEB-INF】文件夹中的话,则用:
InputStream fis = context.getResourceAsStream("/WEB-INF/classes/jdbc.properties");
package com.zuk.database; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties; /** * @author 513283439@qq.com * 采用properties文件的方式建立JDBC数据库直连的方式 * */ public class DatabaseProperties { public static Connection conn = null; /** * 建立数据库连接 * */ public static Connection getConnection(){ if(conn!=null){ return conn; } try { Properties prop = new Properties();//属性集合对象 InputStream fis = DatabaseProperties.class.getClassLoader().getResourceAsStream("sources/jdbc.properties"); prop.load(fis);//将属性文件流装载到Properties对象中 String driver = prop.getProperty("driver"); String url = prop.getProperty("url"); String user = prop.getProperty("user"); String password = prop.getProperty("password"); System.out.println(driver); System.out.println(url); System.out.println(user); System.out.println(password); Class.forName(driver); conn = DriverManager.getConnection(url,user,password ); } catch (Exception e) { e.printStackTrace(); } return conn; } /** * 关闭数据库连接 * */ public static void closeConnection(){ if(conn!=null){ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } conn = null; } } }
3、采用【IoC】容器的方式建立数据链接,方式如下:
3.1新建一个java类【DatabaseJavaBean.java】内容如下:
package com.zuk.database; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.util.Properties; public class DatabaseJavaBean { private String driver = "driver"; private String url = "url"; private String user = "user"; private String password = "password"; public DatabaseJavaBean(){ } public DatabaseJavaBean(String driver,String url,String user,String password){ this.driver = driver; this.url = url; this.user = user; this.password = password; } public void setDriver(String driver) { this.driver = driver; } public void setUrl(String url) { this.url = url; } public void setUser(String user) { this.user = user; } public void setPassword(String password) { this.password = password; } public void showDataInfo(){ System.out.println(this.driver); System.out.println(this.url); System.out.println(this.user); System.out.println(this.password); } public Connection getConnection(){ Connection conn = null; try { String driver = this.driver; String url = this.url; String user = this.user; String password = this.password; Class.forName(driver); conn = DriverManager.getConnection(url,user,password ); } catch (Exception e) { e.printStackTrace(); } return conn; } }
3.2:、在【src/sources】文件夹中新建一个xml文件【database-javabean.xml】,内容如下:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd "> <bean id="databaseJavaBean" class="com.zuk.database.DatabaseJavaBean"> <property name="driver" value="oracle.jdbc.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@//10.2.12.14:1521/GGRDAT" /> <property name="user" value="user" /> <property name="password" value="password" /> </bean> </beans>
注意:bean的初始化采用【property】标签初始化,所以对于【com.zuk.database.DatabaseJavaBean.java】类的属性必须添加【set】方法。
3.3、将【database-javabean.xml】文件注入【IoC】的方式有两种,一种是手动注入;一种是自动注入;
手动注入:
/** * 通过javabean的方式 * */ private Connection getConnection(){ //将其加入IOC容器中 ApplicationContext context = new ClassPathXmlApplicationContext("sources/database-javabean.xml"); DatabaseJavaBean javaBean = (DatabaseJavaBean) context.getBean("databaseJavaBean"); javaBean.showDataInfo(); return javaBean.getConnection(); }
自动注入:
在【web.xml】文件中添加,路径是【classpath:sources/database-javabean.xml】:
<!-- 加载spring配置文件 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:sources/spring.xml,classpath:sources/database-javabean.xml</param-value> </context-param>
然后采用【@Autowired】的方式使用
@Autowired public DatabaseJavaBean databaseJavaBean;
4、综上所述,数据库连接的方式如下:
package com.zuk.services; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.stereotype.Component; import com.zuk.database.DB; import com.zuk.database.DatabaseJavaBean; import com.zuk.database.DatabaseProperties; /** * @author 513283439@qq.com * */ @Component public class UserService { @Autowired public DatabaseJavaBean databaseJavaBean; public final static String TAG = "com.zuk.services.UserService"; public UserService(){ } public void showTag(){ System.out.println(TAG); } public boolean isExist(String usid1,String pawd1){ //Connection conn = DB.getConnection(); //Connection conn = DatabaseProperties.getConnection(); //Connection conn = this.getConnection(); Connection conn = this.databaseJavaBean.getConnection();//采用web.xml自动注入的方式 this.db(conn); return true; } /** * 通过javabean的方式 * */ private Connection getConnection(){ //将其加入IOC容器中 ApplicationContext context = new ClassPathXmlApplicationContext("sources/database-javabean.xml"); DatabaseJavaBean javaBean = (DatabaseJavaBean) context.getBean("databaseJavaBean"); javaBean.showDataInfo(); return javaBean.getConnection(); } //直连 private void db(Connection conn){ try { conn = DB.getConnection(); //conn = DatabaseProperties.getConnection(); String sql = "select t.usid,t.pawd,t.prnm from login t where t.usid = 'b180121'"; PreparedStatement pstm = conn.prepareStatement(sql); ResultSet res = pstm.executeQuery(); while(res.next()){ String usid = res.getString("usid").trim(); String pawd = res.getString("pawd").trim(); String prnm = res.getString("prnm").trim(); System.out.println(usid+"/"+prnm); } if(pstm!=null){pstm.close();} if(res!=null){res.close();} } catch (Exception e) { e.printStackTrace(); }finally{ try { conn.close(); } catch (Exception e2) {e2.printStackTrace();} } } }
5、上面的【database-javabean.xml】文件中数据库配置的方式,可以更进一不优化,直接关联【jdbc.properties】中的数据。具体怎么操作实现呢?如下:
5.1、在【spring.xml】文件中添加;
<!-- 引入属性文件 --> <context:property-placeholder location="classpath:jdbc.properties" />
内容如下:
<?xml version="1.0" encoding="UTF-8"?>5.2、在【database-javabean.xml】中修改如下:
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
">
<!-- 引入属性文件 --> <context:property-placeholder location="classpath:jdbc.properties" />
<!-- service包(自动注入) -->
<context:component-scan base-package="com.zuk.services" />
<!-- 扫描com.zuk.services这个包里所以的service类,【务必在类上标注:@Component】,此时可以采用@Autowired实现自动注入这个包里面全部的对象 -->
</beans>
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd "> <bean id="databaseJavaBean" class="com.zuk.database.DatabaseJavaBean"> <property name="driver" value="${driver}" /> <property name="url" value="${url}" /> <property name="user" value="${user}" /> <property name="password" value="${password}" /> </bean> </beans>
6、源代码:http://download.csdn.net/detail/qq5132834/9605733
相关文章推荐
- jee、spring、spring mvc、mybatis 学习(一)
- jee、spring、spring mvc、mybatis 学习(七)
- jee、spring、spring mvc、mybatis 学习(二)
- jee、spring、spring mvc、mybatis 学习(四)
- jee、spring、spring mvc、mybatis 学习(九)
- jee、spring、spring mvc、mybatis 学习(五)
- jee、spring、spring mvc、mybatis 学习(十)
- jee、spring、spring mvc、mybatis 学习(八)
- jee、spring、spring mvc、mybatis 学习(三)
- SSM框架(Spring Spring MVC Mybatis)基础入门学习3——Mybits入门实例(实例免费下载!)
- Spring学习5_ Spring MVC与mybatis学习-----参数配置文件说明
- Spring学习6_Spring MVC与mybatis学习-----执行路程详解
- Spring MVC 学习总结(六)——Spring+Spring MVC+MyBatis框架集成
- SSM框架:Spring、Spring MVC、MyBatis学习
- MyBatis-Spring 学习笔记一 SqlSessionFactoryBean以及映射器类
- MyBatis学习 之 一、MyBatis简介与配置MyBatis+Spring+MySql
- spring mvc学习(二,该死的spring tool suite 的编码)
- spring学习(1)Spring MVC框架搭建
- MyBatis学习 之 一、MyBatis简介与配置MyBatis+Spring+MySql
- MyBatis学习 之 一、MyBatis简介与配置MyBatis+Spring+MySql