数据库如何用java写超市购物程序

数据库如何用java写超市购物程序,第1张

要使用Java编写超市购物程序,您需要使用Java数据库编程技术来连接到您的数据库并执行相关的数据库 *** 作。在Java中,您可以使用JDBC(Java数据库连接)API来连接到数据库并执行SQL语句。例如,您可以使用JDBC API来执行以下 *** 作:

创建数据库连接

执行增删改查(CRUD) *** 作

提交或回滚事务

执行存储过程和函数

查询数据库元数据

此外,您还可以使用Java的面向对象编程技术来封装数据库 *** 作,以便更方便地在您的程序中使用。例如,您可以创建一个类来表示超市商品,并定义一些方法来执行商品的增删改查 *** 作。这样,您就可以在程序中通过调用这些方法来简单地完成对数据库的 *** 作,而不需要编写复杂的SQL语句。

一、使用工具:java语言、Myeclipse。

二、 *** 作步骤:

1、第一步:加载MySQL的JDBC的驱动

2、第二步:创建与MySQL数据库的连接类的实例

3、第三步:获取连接类实例con,用con创建Statement对象类实例 sql_statement

4、第四步:执行查询,用ResultSet类的对象,返回查询的结果

5、得出数据

三、注意事项:有几处是需要根据自身情况修改的

1、如下图中的url和账号,密码需要与你自己的相一致。

2、这些需要访问的数据必须要与数据库中的类型相互匹配,才能打印出正确的结果。

JDBC连接数据库

•创建一个以JDBC连接数据库的程序,包含7个步骤:

1、加载JDBC驱动程序:

在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),

这通过javalangClass类的静态方法forName(String className)实现。

例如:

try{

//加载MySql的驱动类

ClassforName("commysqljdbcDriver") ;

}catch(ClassNotFoundException e){

Systemoutprintln("找不到驱动程序类 ,加载驱动失败!");

eprintStackTrace() ;

}

成功加载后,会将Driver类的实例注册到DriverManager类中。

2、提供JDBC连接的URL

•连接URL定义了连接数据库时的协议、子协议、数据源标识。

•书写形式:协议:子协议:数据源标识

协议:在JDBC中总是以jdbc开始

子协议:是桥连接的驱动程序或是数据库管理系统名称。

数据源标识:标记找到数据库来源的地址与连接端口。

例如:(MySql的连接URL)

jdbc:mysql:

//localhost:3306/testuseUnicode=true&characterEncoding=gbk ;

useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为

gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。

3、创建数据库的连接

•要连接数据库,需要向javasqlDriverManager请求并获得Connection对象,

该对象就代表一个数据库的连接。

•使用DriverManager的getConnectin(String url , String username ,

String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和

密码来获得。

例如:

//连接MySql数据库,用户名和密码都是root

String url = "jdbc:mysql://localhost:3306/test" ;

String username = "root" ;

String password = "root" ;

try{

Connection con =

DriverManagergetConnection(url , username , password ) ;

}catch(SQLException se){

Systemoutprintln("数据库连接失败!");

seprintStackTrace() ;

}

4、创建一个Statement

•要执行SQL语句,必须获得javasqlStatement实例,Statement实例分为以下3

种类型:

1、执行静态SQL语句。通常通过Statement实例实现。

2、执行动态SQL语句。通常通过PreparedStatement实例实现。

3、执行数据库存储过程。通常通过CallableStatement实例实现。

具体的实现方式:

Statement stmt = concreateStatement() ;

PreparedStatement pstmt = conprepareStatement(sql) ;

CallableStatement cstmt =

conprepareCall("{CALL demoSp( , )}") ;

1安装好jre环境和和jdk,设置好环境变量,很基础,网上教程很多;

2安装mysql数据库,不用设置数据源和环境变量,只是安装好就可以,具体过程见网上教程,有时候不好安装,可能是因为之前安装没有卸载干净等原因,多查一查怎么弄,多试一试就成功了;

3为了方便 *** 作数据库,为mysql安装一个可视化界面Navicat,安装过程超级简单,使用也超级简单,傻瓜 *** 作;

4怎么连接java和mysql呢,这个搞了好久,网上下载一个压缩包mysql-connector-java-508zip,解压,将其中的mysql-connector-java-508-binjar文件复制一份粘贴在C:\Program

Files\Java\jre7\lib\ext目录下,也就是放在jre\lib\ext下就行;

5接下来还要设置一次环境变量,第4步中的压缩包解压后,将解压后文件中mysql-connector-java-508-binjar添加到环境变量classpath中;

package comdao;import javasql;import javaxnamingContext;

import javaxnamingInitialContext;

import javaxnamingNamingException;

import javaxsqlDataSource;public class BaseDao {

/

创建数据库连接及关闭

/

// 打开连接

public static Connection getConnection() {

Connection con = null; / oracl 的连接 /

// try { // ClassforName("oraclejdbcdriverOracleDriver");

// con = DriverManagergetConnection(

// "jdbc:oracle:thin:@127001:1521:orcl", "bbs", "sa");

// } catch (ClassNotFoundException e) {

// eprintStackTrace();

// } catch (SQLException e) {

// eprintStackTrace();

// }

/ sqlerver 的连接 /

try {

ClassforName("commicrosoftsqlserverjdbcSQLServerDriver");

con = DriverManagergetConnection(

"jdbc:sqlserver://127001:1433;databasename=bbs", "sa",

"zhou");

} catch (ClassNotFoundException e) {

eprintStackTrace();

} catch (SQLException e) {

eprintStackTrace();

}

//

return con;

} // 关闭

public static void closeAll(Connection connection,

PreparedStatement pStatement, ResultSet res) {

try {

if (connection != null && (!connectionisClosed())) {

connectionclose();

}

if (res != null) {

resclose();

res = null;

}

if (pStatement != null) {

pStatementclose();

pStatement = null;

}

} catch (Exception e) {

eprintStackTrace();

}

}

}

对数据库增删改查package comdao;import javasqlConnection;

import javasqlPreparedStatement;

import javasqlResultSet;

import javasqlSQLException;

import javautilArrayList;

import javautilList;import comentityNews;public class NewsDao {

Connection con = null;

PreparedStatement pstmt = null;

ResultSet rs = null;

/

添加新闻

@param news

@return

/

public boolean newsAdd(News news){

boolean result=false;

String sql="insert into news values(,)";

con=BaseDaogetConnection();

try {

pstmt=conprepareStatement(sql);

pstmtsetString(1, newsgetContent());

pstmtsetString(2, FormatTimenewTime());

int i = 0;

i = pstmtexecuteUpdate();

if (i > 0)

result = true;

} catch (SQLException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

return result;

}

/

修改新闻

@param news

@return

/

public boolean updateNews(News news){

boolean result=false;

con=BaseDaogetConnection();

try {

pstmt=conprepareStatement("update news set content= ,writedate= where newsid=");

pstmtsetString(1, newsgetContent());

pstmtsetString(2, FormatTimenewTime());

pstmtsetInt(3, newsgetNewsID());

int i = 0;

i = pstmtexecuteUpdate();

if (i > 0)

result = true;

} catch (SQLException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

return result;

}

/

删除新闻

@param news

@return

/

public boolean deleteNews(News news){

boolean result=false;

String sql=Stringformat("delete from news where newsid=%d", newsgetNewsID());

con=BaseDaogetConnection();

try {

pstmt=conprepareStatement(sql);

int i = 0;

i = pstmtexecuteUpdate();

if (i > 0)

result = true;

} catch (SQLException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

return result;

}

/

删除新闻 重载

@param newsId

@return

/

public boolean deleteNews(int newsId){

boolean result=false;

String sql=Stringformat("delete from news where newsid=%d", newsId);

con=BaseDaogetConnection();

try {

pstmt=conprepareStatement(sql);

int i = 0;

i = pstmtexecuteUpdate();

if (i > 0)

result = true;

} catch (SQLException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

return result;

}

/

查询所有的新闻

@return

/

public List<News> selectAllNews(){

List<News> list=new ArrayList<News>();

String sql="select from Users";

con=BaseDaogetConnection();

try {

pstmt=conprepareStatement(sql);

rs=pstmtexecuteQuery();

while(rsnext()){

News news=new News();

newssetNewsID(rsgetInt(1));

newssetContent(rsgetString(2));

newssetWriteDate(rsgetString(3));

listadd(news);

}

} catch (SQLException e) {

// TODO Auto-generated catch block

eprintStackTrace();

} finally {

BaseDaocloseAll(rs, pstmt, con);

}

return list;

}

/

查询单个

@return

/

public News selectOneNews(){

News news=new News();

con=BaseDaogetConnection();

try {

pstmt=conprepareStatement("select top 1 from news order by newsid desc");

rs=pstmtexecuteQuery();

while(rsnext()){

newssetNewsID(rsgetInt(1));

newssetContent(rsgetString(2));

newssetWriteDate(rsgetString(3));

}

} catch (SQLException e) {

// TODO Auto-generated catch block

eprintStackTrace();

} finally {

BaseDaocloseAll(rs, pstmt, con);

}

return news;

}

}

实体类package comentity;import javaioSerializable;

public class News implements Serializable{

private int newsID;

private String content;

private String writeDate; public News() {

super();

// TODO Auto-generated constructor stub

} public News(String content, String writeDate) {

super();

thiscontent = content;

thiswriteDate = writeDate;

} public News(int newsID, String content, String writeDate) {

super();

thisnewsID = newsID;

thiscontent = content;

thiswriteDate = writeDate;

} public int getNewsID() {

return newsID;

} public void setNewsID(int newsID) {

thisnewsID = newsID;

} public String getContent() {

return content;

} public void setContent(String content) {

thiscontent = content;

} public String getWriteDate() {

return writeDate;

} public void setWriteDate(String writeDate) {

thiswriteDate = writeDate;

}

}

以上就是关于数据库如何用java写超市购物程序全部的内容,包括:数据库如何用java写超市购物程序、如何在Java程序中访问mysql数据库中的数据并进行简单的 *** 作、如何使用JAVA创建数据库表。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9529995.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存