java jdbc连接Mysql数据库Dao模式下的带配置文件的(properies)

来源:互联网 发布:泰山医学院网络平台 编辑:程序博客网 时间:2024/06/09 07:19

                                  java jdbc连接Mysql数据库

                          Dao模式下的带配置文件的(properies)连接

  1.  为什么要使用properies配置文件呢?因为当我们吧项目部署到服务器后,如果想到修改数据库的连接时,比较麻烦,因为服务器上布置的是类文件,也就是编译好的文件,当我们要是修改连接时,一旦,修改就的打开类文件但是,数据库是没有开发软件的,所以此时就需要用properies配置文件,properies记事本就可以打开修改,如果想要更方便些,你可以远程控制修改。
  2.   不说过多的了,看代码最清晰:首先写properies文件,一般要写在src目录
  3. 接下来是连接数据库的代码
    import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Properties;public class BaseDao {String DBUser;String DBPwd;String DBHost;String DBName;int Port;int DBType;Connection conn; // 连接对象PreparedStatement ps; // 查询对象ResultSet rs; // 结果集public BaseDao() {Properties pro = new Properties();InputStream in = BaseDao.class.getClassLoader().getResourceAsStream("datebase.properties");     //这里是properties配置文件的使用try {pro.load(in);DBUser = pro.getProperty("DBUser");DBPwd = pro.getProperty("DBPwd");DBHost = pro.getProperty("DBHost");DBName = pro.getProperty("DBName");DBType = Integer.parseInt(pro.getProperty("DBType"));Port = Integer.parseInt(pro.getProperty("Port"));           } catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {if (in != null) {try {in.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}/** * 打开连接 */public void open() {try {if (DBType== 1) {Class.forName("com.mysql.jdbc.Driver");conn = DriverManager.getConnection("jdbc:mysql://" + DBHost+ ":" + Port + "/" + DBName, DBUser, DBPwd);}else if (DBType == 2) {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");conn = DriverManager.getConnection("jdbc:sqlserver://" + DBHost + ":"+ Port + ";databasename=" + DBName, DBUser,DBPwd);} else if (DBType == 3) {// 编写orcalaClass.forName("Oracle.jdbc.driver.OracleDriver");conn = DriverManager.getConnection("jdbc:oracle:thin:@"+ DBHost + ":" + Port + ":" + DBName, DBUser, DBPwd);}} catch (Exception e) {// TODO: handle exceptionSystem.out.println("**********");}}/** * 关闭连接方法 */public void close() {try {if (rs != null)rs.close(); // 如果结果集存在,就关闭结果集ps.close(); // 关闭查询对象conn.close(); // 关闭连接查询} catch (Exception e) {// TODO: handle exception}}/** * 执行 增删改 *  * @param sql * @param parm * @return a 为受影响的行数 */public int exectueUpdate(String sql, Object[] parm) {open();int a = 0;try {ps = conn.prepareStatement(sql);if (parm != null) {for (int i = 0; i < parm.length; i++) {ps.setObject(i + 1, parm[i]);}}a = ps.executeUpdate(); // 执行} catch (Exception e) {// TODO: handle exception}close();    //调用关闭连接方法return a;}/** * 执行查询 *  * @param sql * @param parm * @return */public ResultSet exectueQuery(String sql, Object[] parm) {open();try {ps = conn.prepareStatement(sql);if (parm != null) {for (int i = 0; i < parm.length; i++) {ps.setObject(i + 1, parm[i]);}}rs = ps.executeQuery();} catch (Exception e) {// TODO: handle exception}return rs;}/** * 这个为更改成可变参数类型 执行 增删 *  * @param sql * @param parm * @return a 为受影响的行数 */public int exectueUpdate1(String sql, Object... parm) {open();int a = 0;try {ps = conn.prepareStatement(sql);if (parm != null) {            for (int i = 0; i < parm.length; i++) {ps.setObject(i + 1, parm[i]);}}a = ps.executeUpdate(); // 执行} catch (Exception e) {// TODO: handle exception}close();return a;}}
           更多代码请看这里:点击打开链接      
       数据库自己可以根据实体类新建 我连接的是mysql
      


原创粉丝点击