Java进阶(二十六)公司项目开发知识点回顾_java项目开发难点举例,细节爆炸

苦思冥想,自己最终还是选择回到前面的项目中去看看问题到底出在哪里。经过阅读“立马送药”中数据库操作的有关代码,自己还是发现了一些端倪。MyDatabase.commit();这句意味深长。在操作之后添加这句后,居然就可以往数据库中写数据了。

数据库连接使用了基本的jdbc操作。

知识点

JDBC

尽管在实际开发过程中,我们一般使用ORM框架来代替传统的JDBC,例如Hibernate或者iBatis(或者是MyBatis),但JDBC是Java用来实现数据访问的基础,掌握它对于我们理解Java的数据操作流程很有帮助。

JDBC的全称是Java Database Connectivity。

JDBC对数据库进行操作的流程:

•连接数据库

•发送数据请求,即传统的CRUD指令

•返回操作结果集

JDBC中常用的对象包括:

•ConnectionManager

•Connection

•Statement

•CallableStatement

•PreparedStatement

•ResultSet

•SavePoint

数据库事务

谈到数据库开发,事务是一个不可回避的话题,JDBC默认情况下,是每一步都自动提交的,我们可以通过设置connection.setAutoCommit(false)的方式来强制关闭自动提交,然后通过connection.commit()和connection.rollback()来实现事务提交和回滚。

语法  commit()

示例  下面的代码利用commit方法提交当前事务。

Connection conn = ……         //省略部分代码

conn.setAutoCommit(false);     //先将事务设为手动提交

Statement st = conn.createStatement();

String sql = “INSERT INTO users VALUES (‘xiaoli’,‘123456’)”;

st.execute(sql);

conn.commit();          //提交事务

该方法用于使当前事务中的数据更改成为持久的模式,并释放Connection对象当前持有的所有数据库锁。此方法只有在手动事务的模式下才可以用。

自己有时间还是要恶补一下有关JDBC的知识点。

拓展

在“立马送药”项目中,客户端与服务端通信的大致思路自己还是清楚的。

客户端主要通过以下代码实现与服务端的通信。可见通信方式为http请求中的post方法,doupdate方式。有关http请求的知识,自己还需要进一步的学习。数据包传送方式为json形式。

/**
 * param1:http 请求地址
 * param2:tx_code 交易代码
 * param3:data	请求数据
 * param4:succFun 成功处理方法
 * param5:errFun 错误处理方法
 */
appCallServer = function(http,tx_code,data,succFun,errFun) {
var outdata={result:"9999",errtext:"未知错误"};
try{
var content = {
method: 'POST',
url: "/lmapp/DoUpdate?pkgtype=json",
"data": data
};
// 固定报文
content.data.version="1.0";
if (!content.data.uid) {
if (localStorage.getItem('uid')) {
content.data.uid = localStorage.getItem('uid');
} else {
content.data.uid = "$tempuser";
}
}
// 设置前台sessionid
content.data.fore_time = getNowFormatDate();
// 设置前台请求ID
if(localStorage.sessionid){
content.data.sessionid = localStorage.sessionid;
}else{
content.data.sessionid = "";
}
content.data.tx_code = tx_code;
showProgressBar();
//alert(JSON.stringify(content.data));
//采用链式调用
http(content)
//成功处理函数
.success(function(data) {	//参数data为服务端返回的数据对象
hideProgressBar();
if(data.result=="0000"){
console.log("typeof(succFun):" + typeof(succFun));
if(typeof(succFun)!="undefined"){
succFun(data);	//方法回调
}
}else{
if(typeof(errFun)!="undefined"){
if(data.result=="9998"){
if(confirm(data.errtext)){
// 若为管理端操作,则路由至管理端登陆界面
if (checkTrade(tx_code)) {
window.location.href='index_sys.html';
}else{
// 否则路由至药店端登陆界面
window.location.href='index_shop.html';
}
}
}
errFun(data);
}else{
//alert(data.errtext);
if(confirm(data.errtext) && data.result == "9998"){
// 若为管理端操作,则路由至管理端登陆界面
if (checkTrade(tx_code)) {
window.location.href='index_sys.html';
}else{
// 否则路由至药店端登陆界面
window.location.href='index_shop.html';
}
}


### 文末

技术是没有终点的,也是学不完的,最重要的是活着、不秃。

零基础入门的时候看书还是看视频,我觉得成年人,何必做选择题呢,两个都要。喜欢看书就看书,喜欢看视频就看视频。

最重要的是在自学的过程中,一定不要眼高手低,要实战,把学到的技术投入到项目当中,解决问题,之后进一步锤炼自己的技术。

自学最怕的就是缺乏自驱力,一定要自律,杜绝“三天打鱼两天晒网”,到最后白忙活一场。

高度自律的同时,要保持耐心,不抛弃不放弃,切勿自怨自艾,每天给自己一点点鼓励,学习的劲头就会很足,不容易犯困。

技术学到手后,找工作的时候一定要好好准备一份简历,不要无头苍蝇一样去海投简历,容易“竹篮打水一场空”。好好的准备一下简历,毕竟是找工作的敲门砖。

拿到面试邀请后,在面试的过程中一定要大大方方,尽力把自己学到的知识舒适地表达出来,不要因为是自学就不够自信,给面试官一个好的印象,面试成功的几率就会大很多,加油吧,骚年!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值