java数据库操作
2014-11-27 14:31
302 查看
java连接数据库的几种方式以及优缺点,数据库以mysql为例
DBinfodao
保存操作和
a8d2
查询操作
需要手动关闭Resultset, PreparedStatment , Statment, Connection等资源
1.JDBC连接数据库
连接数据库的工具类 basedao,如果数据库保存中文乱码加上?useUnicode=true&characterEncoding=utf8这句就好了package jdbc.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; /* * jdbc 连接数据库工具类 */ public class BaseDao { // 创建静态全局变量 protected static Connection con; protected static PreparedStatement ptmt; protected static ResultSet rs; /* 获取数据库连接的函数 */ public static Connection getConnection() { try { Class.forName("com.mysql.jdbc.Driver");// 加载Mysql数据驱动 con = DriverManager.getConnection("jdbc:mysql://localhost:3306/huitongsql?useUnicode=true&characterEncoding=utf8", "heytonn", "heytonn");// 创建数据连接 } catch (Exception e) { System.out.println("数据库连接失败" + e.getMessage()); } return con; // 返回所建立的数据库连接 }
</pre><pre name="code" class="java"><span style="white-space:pre"> </span>/*关闭连接*/ public static void closeAll() { if(rs != null) { try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(ptmt != null) { try { ptmt.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(con != null) { try { con.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
DBinfodao
保存操作和
a8d2
查询操作
public void SaveInfo(DbInfo dbInfo){ try { con = BaseDao.getConnection(); String sql = "insert into dbinfo(name, age, sex) values (?,?,?)"; ptmt = con.prepareStatement(sql); ptmt.setString(1, dbInfo.getName()); ptmt.setInt(2, dbInfo.getAge()); ptmt.setString(3, dbInfo.getSex()); int num = ptmt.executeUpdate(); if(num==1){ System.out.println("插入数据成功"); } } catch (SQLException e) { System.out.println("插入数据失败" + e.getMessage()); } finally { BaseDao.closeAll(); } }
public DbInfo findbyid(int id){ DbInfo dbInfo=null; con = getConnection(); String sql = "select * from dbinfo where id=?"; try { ptmt = con.prepareStatement(sql); ptmt.setInt(1, id); rs = ptmt.executeQuery(); if(rs.next()){ dbInfo=new DbInfo(); dbInfo.setName(rs.getString("name")); dbInfo.setAge(rs.getInt("age")); dbInfo.setSex(rs.getString("sex")); } } catch (SQLException e) { e.printStackTrace(); } finally { closeAll(); } return dbInfo; }
需要手动关闭Resultset, PreparedStatment , Statment, Connection等资源
相关文章推荐
- java 数据库基本操作
- 利用Java存储过程简化数据库操作
- 用JAVA操作数据库Datetime数据
- JAVA:数据库操作封装(1)
- JAVA中数据库操作的各种方式与设计模式的应用(转载)希望能对网友们有用
- java 数据库基本操作
- JAVA操作数据库方式与设计模式应用--数据库连接池技术
- JAVA中数据库操作的各种方式与设计模式的应用
- JAVA中数据库操作的各种方式与设计模式的应用
- java 中数据库的操作
- JAVA 使用哈希表操作数据库的例子 Using Hashtables to Store & Extract results from a Database.
- java中访问数据库操作
- java数据库操作中避免特殊字符造成影响的方法
- 研究并用JAVA操作DOMINO的mtcstore.nsf数据库
- 封装Java数据库操作的类
- 在C、JAVA、PHP中操作postgreSql数据库
- JAVA读取XML文件并利用该文件对数据库进行配置操作
- Java 中以DataGrid形式显示数据库查询结果和相关JTable操作程序
- JAVA中操作数据库方式与设计模式的应用
- java 数据库操作