关于derby数据库(新手教程)

陌路散爱 提交于 2020-01-11 19:31:58

此内容来自专业的实训课,有错误欢迎指出。

一:配置环境变量

此电脑---右键-----属性---选择高级系统设置-----选择环境变量

(1)加一个系统变量  DERBY_HOME   %JAVA_HOME%DB

(2)双击path  %DERBY_HOME%\BIN

(3)改Java_HOME的环境变量路径为db的存放位置。

二:在命令行CMD输入ij看是否成功(没有报错)

(1)先执行ij

(2)建立一个数据库:connect'jdbc:derby:数据库的名字;create=true|false'    注意如果是已经存在的数据库前面的语句就可以不带create=true|false了。

(3)建一个表(名字为mess):create table mess(number char(10) primary key,name varchar (20),birth date,price double);

(4)之后可以进行一些数据库操作了:

查询:select * from mess;
     select name,price from mess;
插入:insert into mess value('2','中档狗','2020-01-11','1010');
更新:update mess set price=2999 where number='3';
     update mess set name='中档狗' where price<2000 and price>=1000;
删除:delete from mess where number='2';

三:网络derby数据库

(1)首先执行  startNetworkServer  (注意:在哪启动就在哪连接)

(2)执行ij

(3)connect'jdbc:derby://127.0.0.1:1527//dog;create=true';(127.0.0.1:1527是IP地址加端口号,dog是数据库的名字)

这次的任务是做这样的一个简单的驾考管理系统:

首先如何通过代码进行与数据库的操作呢,举一个查询的例子:

package sdtbu_java_shixun;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;

public class Query {
	private String databasename;
	private String SQL;
	private String columnname[];
	private String record[][];
	private Connection con;
	private String uri="jdbc:derby:";
	public Query() {
		super();
		// TODO Auto-generated constructor stub
		try {
			//加载驱动
			Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
			
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public String getDatabasename() {
		return databasename;
	}

	public void setDatabasename(String databasename) {
		this.databasename = databasename;
	}

	public String getSQL() {
		return SQL;
	}

	public void setSQL(String sQL) {
		SQL = sQL;
	}

	public String[] getColumnname() {
		return columnname;
	}

	public void setColumnname(String[] columnname) {
		this.columnname = columnname;
	}

	public String[][] getRecord() {
		return record;
	}

	public void setRecord(String[][] record) {
		this.record = record;
	}

	public void startQuery() {
		Statement smt;
		ResultSet rs;
		ResultSetMetaData metadate;
		if(databasename !=null) {
			uri+=databasename;
			try {
				//创建连接
				con=DriverManager.getConnection(uri);
                //创建连接
				smt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
						ResultSet.CONCUR_READ_ONLY);
                //执行sql语句
				rs=smt.executeQuery(SQL);
				metadate=rs.getMetaData();
				int clumns=metadate.getColumnCount();
				columnname=new String[clumns];
				for(int i=0;i<clumns;i++)
					columnname[i]=metadate.getColumnName(i+1);
				rs.last();//跑到最后查询有几条记录
				record =new String[rs.getRow()][clumns];
				int j=0;
				rs.beforeFirst();//到记录的最前面
				while(rs.next()) {
					for(int i=1;i<=clumns;i++)
						record[j][i-1]=rs.getString(i);
					j++;
				}
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			try {  
				con.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	
}

所以只要是有了数据库的名字和SQL语句就可以执行了。插入和更新其实是跟查询差不多的。

可以去我的gethup上面去看最终的代码,采用的是javafx写的界面:代码    点击Add files via upload即可进入

实现的功能有查询、删除、更新、里面还有一个最终的课程设计报告设计报告,里面有解释和成品。

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!