在struts2中对数据库的增删改查语句!

在struts2中对数据库的增删改查语句!,第1张

struts2是一个web层的框架,对数据库的增删改查没有影响,它只负责跟web页面打交道,接收、传递数据、跳转到相应显示页面。而实现对数据的增删改查,如果你用没有用orm框架而直接用jdbc,则写相应的sql语句,然后执行即可,例如增加一条数据:

public int userAdd(User user){

int rt = 0

String sql = "insert into USERS(userName,password,realName,sex) values(?,?,?,?)"

try{

conn = this.getConn()

pstmt = conn.prepareStatement(sql)

pstmt.setString(1, user.getUserName())

pstmt.setString(2, user.getPassWord())

pstmt.setString(3, user.getRealName())

pstmt.setString(4, user.getSex())

rt = pstmt.executeUpdate()

}catch(SQLException e){

e.printStackTrace()

}catch(Exception e){

e.printStackTrace()

}finally{

this.closeAll(conn, pstmt, rs)

}

return rt

}

倘若你用了hibernate等orm框架,则相对简单,不用那么费劲的进行一个一个的赋值了,它对jdbc进行了封装,并且本身还有一种hql语言。说到底都是用sql语句进行数据库 *** 作!具体请查找资料!

Struts是针对action的(model层),它本身不具有增删改查功能的。

扩展:要通过dao层(spring事务管理)来做增删改查功能的。

可以参考下如下代码实现增删改查:

import java.sql.PreparedStatement

import java.sql.ResultSet

import Bean.Bean

public class shixian implements DAO {

public void delete(Bean bean) throws Exception {

// 删除数据

String sql = "delete from person where name=?"

Conn conn = new Conn()//创建数据库连接

PreparedStatement pre

try {

//获取连接,执行sql

pre = conn.getConn().prepareStatement(sql)

pre.setString(1, bean.getName())

pre.executeUpdate()

pre.close()//关闭数据库连接

} catch (Exception e) {

e.printStackTrace()

}

}

public void insert(Bean bean) throws Exception {

// 增加数据

String sql = "insert into person values(?,?)"

Conn conn = new Conn()//创建数据库连接

PreparedStatement pre = null

try {

//获取连接,执行sql

pre = conn.getConn().prepareStatement(sql)

pre.setString(1, bean.getName())

pre.setString(2, bean.getPassword())

pre.executeUpdate()

pre.close()//关闭数据库连接

}

catch (Exception e) {

e.printStackTrace()

}

}

public Bean select(String name) throws Exception {

// 查询数据

String sql = "select name,password from person where name=?"

Conn conn=new Conn()//创建数据库连接

Bean bean = new Bean()

PreparedStatement pre = null

try{

//获取连接,执行sql

pre = conn.getConn().prepareStatement(sql)

pre.setString(1, name)

ResultSet rs = pre.executeQuery()

if (rs.next()) {

bean.setName(rs.getString(1))

bean.setPassword(rs.getString(2))

}

rs.close()

pre.close()//关闭数据库连接

} catch (Exception e) {

e.printStackTrace()

}

return bean

}

public void update(Bean bean) throws Exception {

// 修改数据

String sql = "insert into person values(?,?)"

Conn conn = new Conn()//创建数据库连接

PreparedStatement pre = null

try {

//获取连接,执行sql

pre = conn.getConn().prepareStatement(sql)

pre.setString(1, bean.getName())

pre.setString(1, bean.getPassword())

pre.executeUpdate()

pre.close()//关闭数据库连接

}

catch (Exception e) {

e.printStackTrace()

}

}

}

可以在定向时,传个参数过去.

如:<a href="....jsp?name=[你的值]">显示</a>

然后在获取name的值String name=request.getParameter("name")

进行业务处理,显示你想要的东西.


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

原文地址: http://outofmemory.cn/sjk/6604861.html

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

发表评论

登录后才能评论

评论列表(0条)

保存