日期:2014-05-20  浏览次数:20651 次

java socket通信,数据库是否需要连接池
是个服务端程序,接收终端的信息后插入mysql 数据库,隔几秒就有一条数据,比较频繁
现在搞不清数据库要怎么连接好,对数据库连接池概念比较模糊

下面是我做的,功能上是可以,但是总觉得这样连接很不对劲,需要用数据库连接池吗。

求解决方案,有例子更好

public void messageReceived(IoSession session, Object message){ //接收终端发来的数据,隔几秒就触发

   
//解析后上传数据库
UPLastMsg.uplastmsg(dateTime,weidu,jingdu,suDu, hangXiang, imei);

}

public class UPLastMsg {
final String db_name="jdbc:mysql://127.0.0.1:1000/mis";
final String ustr="root";
final String pstr="333";
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Connection con = null;
ResultSet rs = null;
CallableStatement callable;
PreparedStatement pss = null; 
public void uplastmsg(String dateTime,String weidu,String jingdu,String suDu,String hangXiang,String gpssn){
try{
Class.forName("org.gjt.mm.mysql.Driver");
con=(Connection) DriverManager.getConnection(db_name,ustr,pstr);
String sql="select * From lastmsg where gpssn="+gpssn;

pss =(PreparedStatement) con.prepareStatement(sql);
rs=pss.executeQuery(sql);
  //这里就直接 insert 数据到数据库里

 }}



------解决方案--------------------
操作数据频繁的话建议使用数据库连接池,能提高执行效率,响应速度快,不容易发生连接泄露等问题。
------解决方案--------------------
几秒一个操作,压力很低啊,用不用都可以。

如果要用,就直接下载个开源的数据库连接池用就好了:c3p0