再次回顾增删改查(一)

博客不会写,就把一些心得,笔记写下来,这次主要是因为写mvc时发现连最基本的增删改查,都很模糊,所以一憋,一哭,决心再看看增删改查。

1.第一个例子,以前字典表时的增加

   String dic_type=request.getParameter("dic_type");     
   String dic_name=request.getParameter("dic_name");     
   String dic_code=request.getParameter("dic_code");     
   String memo=request.getParameter("memo");     


Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/hotel";
Connection conn = DriverManager.getConnection(url, "root", "hangji001");
Statement stat = conn.createStatement();
String sql = "insert into tb_dic (dic_type,dic_name,dic_code,memo) values('"+dic_type+"','"+dic_name+"','"+dic_code+"','"+memo+"' )";
System.out.print(sql);
stat.executeUpdate(sql);

    视图层传过来表的参数      

 response.sendRedirect("getData.jsp"); 重定向页面

2.学习Dao后在MySQLDao中编写业务逻辑。

public void insertUser(UserDetailInfo udi) {
		
		
	}

UserMysqlDao implements UserDao顺带摘要一下Dao接口

import java.util.List;

import com.zzxtit.mvc.user.entity.UserDetailInfo;

public interface UserDao {

	public void insertUser(UserDetailInfo udi);
	
	public void updateUser(UserDetailInfo udi);
	
	public void delUser(Integer userId);
	
	public UserDetailInfo getUserDetailById(Integer userId);
	
	public List<UserDetailInfo> getUserDetailByAttr(UserDetailInfo qAttr);
}

之所以提这个,是因为传参比起简单的getparameter直接(非实用),Dao下的操作,高内聚,低耦合(我也还在揣摩这句话)

Dao下的MySQLDao 调用了接口,而方法中的参数,则是实例Bean对象,还是有缺陷。

userService对Dao下的mysqlDao的操作

import java.util.List;

import com.zzxtit.mvc.user.dao.UserDao;
import com.zzxtit.mvc.user.dao.UserMysqlDao;
import com.zzxtit.mvc.user.entity.UserDetailInfo;

public class UserServiceImple implements UserService{

	
	private UserDao ud = new UserMysqlDao();//这一句不理解,估计是借口回掉。调用的是MySQLdao对接口的

	public void insertUser(UserDetailInfo udi) {
		ud.insertUser(udi);    //
	}

	public void updateUser(UserDetailInfo udi) {
		
	}

	public void delUser(Integer userId) {
		
	}

	public UserDetailInfo getUserDetailById(Integer userId) {
		return null;
	}

	public List<UserDetailInfo> getUserDetailByAttr(UserDetailInfo qAttr) {
		return null;
	}	
}
private UserDao ud = new UserMysqlDao();//这一句不理解,估计是借口回掉。调用的是MySQLdao对接口的

	public void insertUser(UserDetailInfo udi) {
		ud.insertUser(udi);    //
	}

	public void updateUser(UserDetailInfo udi) {
		
	}

	public void delUser(Integer userId) {
		
	}

	public UserDetailInfo getUserDetailById(Integer userId) {
		return null;
	}

	public List<UserDetailInfo> getUserDetailByAttr(UserDetailInfo qAttr) {
		return null;
	}	
}

3.add_desk 增加餐号

int id=(int)(Math.random()*100000000);  //对桌号添加一个随机ID
    request.setCharacterEncoding("utf-8");
    String food_name=request.getParameter("food_name");
    String desk_no=request.getParameter("desk_no");
	Class.forName("com.mysql.jdbc.Driver");
	String url = "jdbc:mysql://localhost:3306/sys_info";
	Connection conn = DriverManager.getConnection(url, "root", "hangji001");
	Statement stat = conn.createStatement();
	StringBuffer sql0 =new StringBuffer("select * from food_info where food_name='"+food_name+"'");
	ResultSet rs = stat.executeQuery((sql0).toString());
	int food_price=0;
	while(rs.next()){
	food_price=rs.getInt("food_price");
}
	String sql = "insert into detail_info (desk_no,id,food_name,food_price)values ('"+desk_no+"','"+id+"','"+food_name+"','"+food_price+"') ";
    stat.executeUpdate(sql);     //excuteUpdate,增 改
	response.sendRedirect("add_desk.jsp");

最初的订餐程序,只是将Java代码<%%>jsp页面中。没有用到EL和 JSTL`    `
 

 

以上是增加的代码,其他的随后会更。现在有了dbUtils ,

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值