struts2中action里面怎么写一个方法直接查询数据库数据,

struts2中action里面怎么写一个方法直接查询数据库数据,,第1张

先写的DAO:public List<FileModel>findAll()

{

Connection con = null

PreparedStatement ps = null

FileModel file = null

ResultSet rs = null

List<FileModel>set = null

try

{

con = DBconnection.getConnection()

String sql = "select * from file

ps = con.prepareStatement(sql)

set = new LinkedList<FileModel>()

rs = ps.executeQuery()

while(rs.next())

{

file = new FileModel()

file.setFilepath(rs.getString(1))

file.setFiletime(rs.getTimestamp(2))

file.setFileintroduce(rs.getString(3))

file.setFilediscuss(rs.getString(4))

file.setFilescore(rs.getFloat(5))

file.setFiletype(rs.getString(6))

file.setDirection(rs.getString(7))

file.setFileid(rs.getInt(8))

file.setFilename(rs.getString(9))

set.add(file)

}

}

catch(SQLException e)

{

throw new RuntimeException(e.getMessage(),e)

}

finally

{

DBconnection.free(rs, ps, con)

}

return set

}

在action中调用DAO:

public class FindAction extends ActionSupport {

private Dao dao = new Dao()

@Override

public String execute() throws Exception {

// TODO Auto-generated method stub

LinkedList<FileModel>modelSet = (LinkedList<FileModel>) dao.findAll()

if (modelSet!=null){

System.out.println(modelSet)

ActionContext.getContext().getSession().put("msg", modelSet)

return SUCCESS}

else

return ERROR

}

}

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语句进行数据库 *** 作!具体请查找资料!

你这种想法最好用ajax实现:

①增加数据页面form中的关键字input中,当失去焦点时,自动调用ajax函数提交,或者在用户submit时调用ajax函数。

②后台获取ajax提交的数据,到数据库中查询,返回查询结果

③页面用ajax回调函数,如果数据库中已存在,提示用户并返回false,禁止继续提交。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存