1、选中类,按下ctrl键,点击回车,可以查看属性和方法名
2、找到按钮"Attach Source",点击,弹出打开对话框
3、选中源代码包(一个zip或jar文件),点击确定即可
设置MyEclipse XML Editor成代码编辑状态,需要设置默认打开方式为XML Editor。
1、菜单:Window -> Preferences -> General -> Editors -> File Associations
File types: xml
Associated editors:XML Editor -> Default
2、在Associated editors选择框里点击“XML Editor ”,点击“Default”按钮。
3、将看到“XML Editor ”排在最上面,其变为“XML Editor(Default) ”。
共通。
原来MyEclipse和SWT designer一样,都是Eclipse的插件。
只不过,MyEclipse包含了很多内容,于插件集合吧(我个人的理解)。
1、请确认JAVA编译器和JRE版本一致右键点击项目preference、JAVAcompiler查看编译器版本。
2、关闭MyEclipse工作空间。
3、选中项目,点Project、Properties-、Builders、把JavaBuilder打钩就可以了。
点击菜单栏File——Import——然后再点击General文件夹下的Existing Projects into Workspace
——最后点击Browse选择你所需要导入的项目再finish即可。。
前期准备工作,安好JDK,MyEclipse。
下载JDBC驱动mysql-connector-java-505-binjar导入到工程中去
1、工程(右键)--buildpath--configure build path--add external jars。
2、 也可以加到classpath中去,具体如下:“我的电脑”-> “属性” ->“高级” -> “环境变量”,在系统变量那里编辑classpath,将D:\mysql-connector-java-505\mysql- connector-java-505-binjar加到最后,在加这个字符串前要加“;”,以与前一个classpath区分开,然后确定。
测试代码:所用驱动 mysql-connector-java-50-nightly-20071116-binjar
程序中引用必要的包:import javasql; //它包含有操作数据库的各个类与接口
1、加载合适的JDBC驱动程序
ClassforName(Driver);
MySQL驱动程序:commysqljdbcDriver
Oracle驱动程序:oraclejdbcdriverOracleDriver
SQLServer驱动程序:
comMicrosoftjdbcsqlserverSQLServerDriver
2、建立数据库连接
与MySQL数据库连接的方法:
Connection con=DriverManagergetConnection(“jdbc:mysql://主机IP或主机名:3306/数据库名”,用户名,密码);
javasqlDriveManager 用来处理装载驱动程序并且为创建新的数据库连接提供支持;
–javasqlConnection 用于完成对特定定数据库的连接;
–javasqlStatement 用于对特定的数据库执行SQL语句;javasqlStatement又包含了以下两个重要的子类型:
javasqlPreparedStatement 用于执行预编译的SQL语句;
javasqlCallableStatement 用于执行数据库中存储的过程的调用;
--javasqlResultSet 用于保存查询所得的结果集
3、创建Statement对象
Statement st=concreateStatement(); //最后可以不关闭,但推荐关闭
利用Statement对象可以执行静态SQL语句,静态SQL语句可以是Select语句、Delete语句、Update语句和Insert语句。
执行SQL语句
Statement接口提供了三种执行SQL语句的方法:executeQuery()、executeUpdate() 和execute()。具体使用哪一个方法由SQL语句本身来决定。
方法 executeQuery 用于产生单个结果集的语句,例如 SELECT 语句等。
方法 executeUpdate 用于执行INSERT、UPDATE或DELETE 语句以及SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或DELETE 语句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一个 整数,指示受影响的行数(即更新计数)。对于 CREATE TABLE 或DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零。
方法 execute 用于执行返回多个结果集、多个更新计数或二者组合的语句。一般不会需要该高级功能。
①JDBC在编译时并不对将要执行的SQL查询语句作任何检查,只是将其作为一个String类对象,直到驱动程序执行SQL查询语句时才知道其是否正确。对于错误的SQL查询语句,在执行时将会产生 SQLException。
②一个Statement对象在同一时间只能打开一个结果集,对第二个结果集的打开隐含着对第一个结果集的关闭。
③如果想对多个结果集同时操作,必须创建出多个Statement对象,在每个Statement对象上执行SQL查询语句以获得相应的结果集。
④如果不需要同时处理多个结果集,则可以在一个Statement对象上顺序执行多个SQL查询语句,对获得的结果集进行顺序操作。
str="insertinto customer values('wangyang',24,'beijing','wangyang@sinacom')";
int recordNumber=stexecuteUpdate(str);执行executeUpdate()方法返回该SQL语句涉及的记录数。
str="select from mycustomer"; //查询表中记录
ResultSet rs=stexecuteQuery(str); 由于SQL语句是select,用executeQuery()方法,返回一个结果集保存在ResultSet对象rs中。
4、分析ResultSet对象
① 执行完毕SQL语句后,将返回一个ResultSet类的对象,它包含所有的查询结果。但对ResultSet类的对象方式依赖于光标(Cursor)的 类型,而对每一行中的各个列,可以按任何顺序进行处理(当然,如果按从左到右的顺序对各列进行处理可以获得较高的执行效率);
ResultSet类中的Course方式主要有:
ResultSetTYPE_FORWARD_ONLY(为缺省设置):光标只能前进不能后退,也就是只能从第一个一直移动到最后一个。
ResultSetTYPE_SCROLL_SENSITIVE:允许光标前进或后退并感应到其它ResultSet的光标的移动情形。
ResultSetTYPE_SCROLL_INSENSITIVE:允许光标前进或后退并不能感应到其它ResultSet的光标的移动情形。
ResultSet类中的数据是否允许修改主要有:
ResultSetCONCUR_READ_ONLY(为缺省设置):表示数据只能只读,不能更改。
ResultSetCONCUR_UPDATABLE:表示数据允许被修改。
可以在创建Statement或PreparedStatement对象时指定ResultSet的这两个特性。
Statement stmt=concreateStatement(ResultSetTYPE_FORWARD_ONLY,ResultSetCONCUR_READ_ONLY);
或
PreparedStatement pstmt=conPrepareStatement("insert into bookTable values (,,)",ResultSetTYPE_SCROLL_INSENSITIVE,ResultSetCONCUR_UPDATABLE);
② ResultSet类的对象维持一个指向当前行的指针,利用ResultSet类的next()方法可以移动到下一行(在JDBC中,Java程序一次只 能看到一行数据),如果next()的返回值为false,则说明已到记录集的尾部。另外JDBC也没有类似ODBC 的书签功能的方法。
③ 利用ResultSet类的getXXX()方法可以获得某一列的结果,其中XXX代表JDBC中的Java数据类型,如 getInt()、getString()、getDate()等。访问时需要指定要检索的列(可以采用 int值作为列号(从1开始计数)或指定列(字段)名方式,但字段名不区别字母的大小写)。
示例:
while(rsnext()){
int id=rsgetInt("id");
String name=rsgetString("cName");
int age=rsgetInt("cAge");
String address=rsgetString("cAddress");
String email=rsgetString("cEmail");
Systemoutprintln(id+" "+name+" "+age+" "+address+" "+email);
}
获得结果集中的结构信息:利用ResultSet类的getMetaData()方法来获得结果集中的一些结构信息(主要提供用来描述列的数量、列的名称、列的数据类型。利用ResulSetMetaData类中的方法)。
ResultsetMetaData rsmd=rsgetMetaData();
rsmdgetColumnCount(); //返回结果集中的列数
rsmdgetColumnLabel(1); //返回第一列的列名(字段名)
例如:
Statement stmt=concreateStatement();
ResultSet rs=stmtexecuteQuery("select from TableName");
for(int i=1; i<=rsgetMetaData()getColumnCount(); i++) //跟踪显示各个列的名称
{ Systemoutprint(rs getColumnName (i)+"\t");
}
while(rsnext())
{ //跟踪显示各个列的值
for(int j=1; j<=rsgetMetaData()getColumnCount(); j++)
{ Systemoutprint(rsgetObject(j)+"\t");
}
}
5、关闭连接
(注意关闭的顺序) 例:
rsclose();
stclose();
conclose()
6、JDBC的常用API
一、Connection接口:
1createStatement():创建数据库连接
2prepareStatement(Stringsql):创建预处理语句
3prepareCall(Stringsql):创建可调用语句
4getAutoCommit():获取自动提交的模式
5setAutoCommit():设置自动提交的模式
6commit():提交所执行的SQL语句
7rollback():回滚所执行的SQL语句
8getMetaData():获取一个DatabaseMetaData对象,该对象包含了有关数据库的基本信息
9close():关闭数据库连接
10isClose():判断数据库连接是否超时或被显示关闭
二、Statement接口:
1execute(Stringsql):执行SQL语句,如果返回值是结果集则为true,否则为false
2executeQuery(Stringsql):执行SQL语句,返回值为ResultSet
3executeUpdate(Stringsql):执行SQL语句,返回值为所影响的行数
4addBatch(Stringsql):向当前Statement对象的命令列表中添加新的批处理SQL语句
5clearBatch():清空当前Statement对象的命令列表
6executeBatch():执行当前Statement对象的批处理语句,返回值为每个语句所影响的函数数组
7getConnection():返回创建了该Statement对象的Connection对象
8getQueryTimeout():获取等待处理结果的时间
9setQueryTimeout():设置等待处理结果的时间
三、ResultSet接口:
1first()/beforeFirst():将游标移动到ResultSet中第一条记录(的前面)
2last()/afterLast():将游标移动到ResultSet中最后一条记录(的后面)
3absolute(intcolumn):将游标移动到相对于第一行的指定行,负数则为相对于最后一条记录
4relative(introws):将游标移动到相对于当前行的第几行,正为向下,负为向上
5next():将游标下移一行
6previous():将游标上移一行
7insertRow():向当前ResultSet和数据库中被插入行处插入一条记录
8deleteRow():将当前ResultSet中的当前行和数据库中对应的记录删除
9updateRow():用当前ResultSet中已更新的记录更新数据库中对应的记录
10cancelUpdate():取消当前对ResultSet和数据库中所做的操作
11findColumn(StringcolumnName):返回当前ResultSet中与指定列名对应的索引
12getRow():返回ResultSet中的当前行号
13refreshRow():更新当前ResultSet中的所有记录
14getMetaData():返回描述ResultSet的ResultSetMetaData对象
15isAfterLast():是否到了结尾
16isBeforeFirst(): 是否到了开头
17isFirst():是否第一条记录
18isLast(): 是否最后一条记录
19wasNull():检查列值是否为NULL值,如果列的类型为基本类型,且数据库中的值为0,那么
这项检查就很重要。由于数据库NULL也返回0,所以0值和数据库的NULL不能区分。如果列的类型为对象,可以简单地将返回值与null比较
20close():关闭当前ResultSet
四、ResultSetMetaData接口:
1getColumnCount():返回ResultSet中列的数目
2getColumnName():返回列在数据库中的名称
3getColumnType():返回列的SQL类型
4isReadOnly():表示该数据项是否为只读值
5isNullable():表示该列是否可以存储NULL
示例:
import javasql;public class JDBCTest {
public static void main(String[] args){
// 驱动程序名
String driver = "commysqljdbcDriver";
// URL指向要访问的数据库名scutcs
String url = "jdbc:mysql://127001:3306/test";
// MySQL配置时的用户名
String user = "root";
// MySQL配置时的密码
String password = "123456";
try {
// 加载驱动程序
ClassforName(driver);
// 连续数据库
Connection conn = DriverManagergetConnection(url, user, password);
if(!connisClosed())
Systemoutprintln("Succeeded connecting to the Database!");
// statement用来执行SQL语句
Statement statement = conncreateStatement();
// 要执行的SQL语句
String sql = "select from pet";
// 结果集
ResultSet rs = statementexecuteQuery(sql);
Systemoutprintln("-----------------");
String name = null;
while(rsnext()) {
// 选择sname这列数据
name = rsgetString("name");
// 首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
// 然后使用GB2312字符集解码指定的字节数组
name = new String(namegetBytes("ISO-8859-1"),"GB2312");
// 输出结果
Systemoutprintln(rsgetString("ID") + "\t" + name);
}
rsclose();
connclose();
} catch(ClassNotFoundException e) {
Systemoutprintln("Sorry,can`t find the Driver!");
eprintStackTrace();
} catch(SQLException e) {
eprintStackTrace();
} catch(Exception e) {
eprintStackTrace();
}
}
}
写代码只能提示,不需要安装插件
一般的提示按下 alt+/ 即可提示出来
也可以在首选项---java--编辑器--内容辅助--java的自动激活触发器 里面把26个字母写上,这样只要你书写一个单词就自动提示了
例如:书写了s,后面就自动提示了string之类的
还有一种自定义的智能提示,比如 你想输入return_null,就出来 return null;
你需要在首选项---java--编辑器--模板里面编辑
1、首先在电脑上打开Eclipse/MyEclipse软件。点击菜单Window->Preference,打开选项设置窗口。
2、点击左侧java->Editor->Syntax Coloring菜单,右侧显示语法颜色设置选项。
3、展开Comments菜单,可以看到多行注释,单行注释,任务标签选项,选中多行注释,右侧显示可以修改的样式,包含颜色选项,加粗、斜体、下划线等复选框。
4、将注释字体加粗,因此选中Bold复选框,然后保存即可,根据个人喜好可以自行设置。
5、设置完成后,再看代码中的注释便醒目许多,就完成了。
欢迎分享,转载请注明来源:表白网
评论列表(0条)