Kagula
2009-11-17
关键词
Java My SQL
概要:
对My SQL操作封装的Java源码示例。
要求环境:
J2SE1.5 + Eclipse3.4.2
正文:
先到网上下载mysql-connector-java-5.0.8-bin.jar,并把它放到你的Java Project的User Library路径中。
下面是CMySQL的源码清单,具体如何使用,参考CMySQL的main方法。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class CMySQL {
private Connection conn;
public CMySQL(String sWhere,String sAccount,String sPWD)
{
connect(sWhere,sAccount,sPWD);
}
public void finalize()
{
shutdown();
}
private void connect(String sWhere,String sAccount,String sPWD)
{
try
{
Class.forName("com ......
Kagula
2009-11-17
关键词
Java My SQL
概要:
对My SQL操作封装的Java源码示例。
要求环境:
J2SE1.5 + Eclipse3.4.2
正文:
先到网上下载mysql-connector-java-5.0.8-bin.jar,并把它放到你的Java Project的User Library路径中。
下面是CMySQL的源码清单,具体如何使用,参考CMySQL的main方法。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class CMySQL {
private Connection conn;
public CMySQL(String sWhere,String sAccount,String sPWD)
{
connect(sWhere,sAccount,sPWD);
}
public void finalize()
{
shutdown();
}
private void connect(String sWhere,String sAccount,String sPWD)
{
try
{
Class.forName("com ......
http://cheneyph.javaeye.com/blog/477829
在Java中,获得ResultSet的总行数的方法有以下几种。
第一种:利用ResultSet的getRow方法来获得ResultSet的总行数
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rset = stmt.executeQuery("select * from yourTableName");
rset.last();
int rowCount = rset.getRow(); //获得ResultSet的总行数
第二种:利用循环ResultSet的元素来获得ResultSet的总行数
ResultSet rset = stmt.executeQuery("select * from yourTableName");
int rowCount = 0;
while(rset.next()) {
rowCount++;
}
rowCount就是ResultSet的总行数。
第三种:利用sql语句中的count函数获得ResultSet的总行数
ResultSet rset = stmt.executeQuery("select count(*) totalCount from yourTableName");
int rowCount = 0;
if(rset.next()) {
rowCount=rset .getInt("totalCount ");
}
rowCount就是ResultSet的总行数。 ......
http://cheneyph.javaeye.com/blog/477829
在Java中,获得ResultSet的总行数的方法有以下几种。
第一种:利用ResultSet的getRow方法来获得ResultSet的总行数
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rset = stmt.executeQuery("select * from yourTableName");
rset.last();
int rowCount = rset.getRow(); //获得ResultSet的总行数
第二种:利用循环ResultSet的元素来获得ResultSet的总行数
ResultSet rset = stmt.executeQuery("select * from yourTableName");
int rowCount = 0;
while(rset.next()) {
rowCount++;
}
rowCount就是ResultSet的总行数。
第三种:利用sql语句中的count函数获得ResultSet的总行数
ResultSet rset = stmt.executeQuery("select count(*) totalCount from yourTableName");
int rowCount = 0;
if(rset.next()) {
rowCount=rset .getInt("totalCount ");
}
rowCount就是ResultSet的总行数。 ......
下面是我认为正确的做法(结合自己的经验写的,如果不正确,请大家指正):
我的绘图控件是JPanel,
出现滚动条的前提,必须让绘图控件放在JScrollPane上,
对于JScrollPane的Layout,没有特殊要求,下面这样即可:
jScrollPane1.setViewportView(jPanel1);
然后,另外维持一个BufferedImage(假设叫image1),各种图像的处理都是对image1进行。
画的时候,只需要把image1画在jPanel1上即可。
下面是如何画图:
(1)在生成jPanel1的时候,需要覆盖paint(Graphics g)方法,在里面把image1画上去:
jPanel1 = new JPanel(){
@Override
public void paint(Graphics g) {
super.paint(g);
if(image1 != null){
g.clearRect(0, 0, this.getWidth(), this.getHeight());
g.drawImage(image1, 0, 0, null);
g.dispose();
}
}
};
(2)在所有对image1的处理以后,需要调用jPanel1.repaint() → 注:会自己调用paint(Graphics g)方法
比如在对image1进行放大缩小,或者去掉某些颜色以后,需要调用jPanel1.repaint()
(3)在image1的size有变化的时候,需要调用:
jPanel1.setPreferredSize(new Dimension(image1. ......
//简单的java日期格式控制
java.Text.SimpleDateFormat format = new java.Text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//你想要的格式
//注意月的位置要大写的MM 要不就看到的不是正确显示,可以把你想要转换的日期转换为相应的格式啊
format.format(new java.util.Date());//date为日期型数据,可以任意时间 ......
在
Java SE1.5
中,
增加了一个新的特性:泛型(日本语中的总称型)。何谓泛型呢?通俗的说,就是泛泛的指定对象所操作的类型,而不像常规方式一样使用某种固定的类型去指定。
泛型的本质就是将所操作的数据类型参数化,也就是说,该数据类型被指定为一个参数。这种参数类型可以使用在类、接口以及方法定义中。
一、
为什么使用泛型呢?
在以往的
J2SE
中,没有泛型的情况下,通常是使用
Object
类型来进行多种类型数据的操作。这个时候操作最多的就是针对该
Object
进行数据的强制转换,而这种转换是基于开发者对该数据类型明确的情况下进行的(比如将
Object
型转换为
String
型)。倘若类型不一致,编译器在编译过程中不会报错,但在运行时会出错。
使用泛型的好处在于,它在编译的时候进行类型安全检查,并且在运行时所有的转换都是强制的,隐式的,大大提高了代码的重用率。
二、
&nb ......
Flex中XMLSocket与Java中Socket通信,遇到的问题是,Java中的socket能够接受到XMLSocket传输的数据,但是Flex并不能接受到从Java服务器传输的数据,从网上搜了好多资料,终于找到了原因,原来XMLSocket 接收到服务端下发的数据时,将连续放于接收缓冲区,直到接收到 "\0" 字节(字节内容为 ASCII 值 0),才认为接收完成,并调用相应的 onData 或 onXML 事件,因此,服务端若用 Java 编写,并使用标准的 String 类族,则在发送数据结尾应手动加上 "\0",同样,当XMLSocket发送数据时,也会在数据的结尾自动加上"\0"。
我现在将我做的一个简单的XMLSocket通信的例子贴出来跟大家共享一下,如果有什么不足的地方,还望大家批评指出,毕竟我也是flex初学者,呵呵!
Java应用程序代码:
public class XMLServerSocket {
private ServerSocket serverSocket;
private Socket socketin;
private BufferedReader br;
private PrintStream ps;
public static void main(String[] args) {
new XMLServerSocket();
}
private XMLServerSocket() {
try {
serverSocket = new ServerSocket(8800);
socketin = serverSocket.accept();
br = new B ......