1.查询list数据

  实例:user login

public String userLogin(){
Session session = HibernateSessionFactory.getSession();
Transaction tran = session.beginTransaction();
String sqlString = "select * from userinfo where username='"+user.getUsername()+"' and password='"+user.getPassword()+"'";
ulist = session.createSQLQuery(sqlString).addEntity(UserInfo.class).list();//通过sql语句查询列表
session.close();
//使用迭代器遍历每个用户
Iterator it = ulist.iterator();
while(it.hasNext()){
user = (UserInfo) it.next();
}
//控制台输出
System.out.println(ulist.size()+"--"+user.getUsername()+user.getPassword()+"-- id:"+user.getUserid());
if(ulist.size()==0){
return "ERROR";
}
return "SUCCESS";
}

  实例:查询所有数据

/**
* persons list 显示person列表信息
*/
@SuppressWarnings("unchecked")
public String personList(){
Session session = HibernateSessionFactory.getSession();
Transaction tran = session.beginTransaction();
String hqlString = "select * from person";
plist = session.createSQLQuery(hqlString).addEntity(Person.class).list();
//获取session,存储list列表
ActionContext actionContext = ActionContext.getContext();
Map<String, Object> s = actionContext.getSession();
s.put("personList", plist);
session.close();
return "SUCCESS";
}

2.通过sql添加数据

public String addPerson(){
Session session = HibernateSessionFactory.getSession();
Transaction tran = session.beginTransaction();
String sql = "INSERT INTO person (SELECT MAX(personid+1)," +//找出最大的id+1 赋给新的id
"'"+person.getPersonname()+"'," +
"'"+person.getMobilephone1()+"'," +
"'"+person.getMobilephone2()+"'," +
"'"+person.getSex()+"'," +
"'"+person.getBirthday()+"'," +
"'"+person.getPnative()+"'," +
"'"+person.getAddress()+"'," +
"'"+person.getEmail()+"'," +
"'"+person.getDescribe()+"'," +
+person.getGroupid()+
" FROM person)";
session.createSQLQuery(sql).executeUpdate();//执行更新操作
tran.commit();
System.out.println(person.getPersonid()+"--"+person.getPersonname());
session.close();
return "SUCCESS";
}

3.根据id查找数据

/**
* 根据id找到person
* @param id
* @return
*/
public String findPersonById(){
int personid = Integer.parseInt(ServletActionContext.getRequest().getParameter("id"));
Session session = HibernateSessionFactory.getSession();
session.load(person, personid);//根据id查询一条记录
//获取session,存储list列表
ActionContext actionContext = ActionContext.getContext();
Map<String, Object> s = actionContext.getSession();
s.put("person", person);
session.close();
return "SUCCESS";
}

4.删除一条记录

/**
* 根据id删除person
* @return
*/
public String deletePerson(){
int personid = Integer.parseInt(ServletActionContext.getRequest().getParameter("id"));
person.setPersonid(personid); Session session = HibernateSessionFactory.getSession();
Transaction tran = session.beginTransaction();
session.delete(person);
tran.commit();
return "SUCCESS";
}

5.更新一条记录

/**
* 根据id更新person
* @return
*/
public String updatePerson(){
Session session = HibernateSessionFactory.getSession();
Transaction tran = session.beginTransaction();
String sql = "UPDATE person SET " +
"personname='"+person.getPersonname()+"'," +
"mobilephone1='"+person.getMobilephone1()+"'," +
"mobilephone2='"+person.getMobilephone2()+"'," +
"sex='"+person.getSex()+"'," +
"birthday='"+person.getBirthday()+"'," +
"native='"+person.getPnative()+"'," +
"address='"+person.getAddress()+"'," +
"email='"+person.getEmail()+"'," +
"pdescribe='"+person.getDescribe()+"',"+
"groupid="+person.getGroupid()+
" WHERE personid=" +person.getPersonid();
session.createSQLQuery(sql).executeUpdate();
tran.commit();
session.close();
return "SUCCESS";
}

SQL——Hibernate SQL增删改查的更多相关文章

  1. 使用java对sql server进行增删改查

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...

  2. 四种简单的sql语句(增删改查语句)

    四种简单的sql语句(增删改查语句) 一.插入语句 insert into [table] ([column],[column],[column]) values(?,?,?) 二.删除语句 dele ...

  3. dml语句就是你常写的sql语句,增删改查

    dml语句就是你常写的sql语句,增删改查

  4. SQL总结之增删改查

      SQL语句增删改查(总结) 一.增:有2种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> 例:ins ...

  5. 常见 SQL语句使用 增删改查

    一.常见的增删改查(一).查:1.SELECT 列名称 FROM 表名称,其中列名可以是多个,中间用豆号分开,如SELECT LastName,FirstName FROM Persons: 2.SE ...

  6. python连接MySQL pymysql模块,游标,SQL注入问题,增删改查操作

    pymysql模块 pymysql是用python控制终端对MySQL数据库进行操作的第三方模块 import pymysql # 1.连接数据库 client = pymysql.connect( ...

  7. SQL -------- 简单的增删改查

    sql  结构化查询语言,一种ansi 的标准计算机语言,为了访问数据库 可以做什么:可以对数据库 和表进行创建于删除, 对表里面的数据进行增删改查. 也可以创建存储过程和视图,对表设置权限 RDBM ...

  8. SQL语句简单增删改查

    常用数据类型 Int:整数,长度没有作用 Varchar:字符串,varchar(3)表示最多存放3个字符,1个中文或英文或符合都占1个字符 Decimal:小数,decimal(5,2)表示共存5位 ...

  9. SQL学习(二)SQL基础的增删改查

    在测试时使用数据库时,用的比较多的就是增删改查SQL了. 一.增加(insert into ...values) 用于向表中插入新记录 1.不指定列(表示:依次插入所有列的值) insert into ...

  10. java对sql server的增删改查

    package Database; import java.sql.*; public class DBUtil { //这里可以设置数据库名称 private final static String ...

随机推荐

  1. Maven 3-Maven依赖版本冲突的分析及解决小结

    我自己遇到了一个问题: 我需要使用一个api,这个api已经引入包:slf4j-log4j12 所以,在自己的pom中,如果引入了这个包,需要exclude掉: 因为在pom.xml中查询是找不到的, ...

  2. 《使用swoole》

    第一 在windows系统搭建swoole环境: 首先,安装cygwin:步骤截图如下 其次,使用cygwin安装swoole: 打开cygwin的终端,进入~目录,并将swoole-src上传到~目 ...

  3. C++ 日期时间使用

    #include <time.h> #include <stdio.h> #include <iostream> #include <string> # ...

  4. NOIP2013题解

    NOIP2013题解 Day1 转圈游戏 circle 快速幂模板题. #include<iostream> using namespace std; int n,m,k,x; int f ...

  5. 修复VirtualBox "This kernel requires the following features not present on the CPU: pae Unable to boot – please use a kernel appropriate for your CPU"

    异常处理汇总-开发工具  http://www.cnblogs.com/dunitian/p/4522988.html 修复VirtualBox "This kernel requires ...

  6. 1093. Count PAT's

    The string APPAPT contains two PAT's as substrings. The first one is formed by the 2nd, the 4th, and ...

  7. des加密解密JAVA与.NET互通实例

    JAVA版本 import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFacto ...

  8. 硬盘读取速度变慢 — 当前传送模式: PIO模式

    网上搜索了一下,找到两篇文章: 标题:硬盘读取速度变慢 当前传输模式pio的解决方法 http://www.veryhuo.com/a/view/52786.html   (解决思路:先卸载驱动,重启 ...

  9. 解决React首屏加载白屏的问题

    众所周知,在项目中如果在资源加载请求还未完成的时候,由于阻塞机制,会出现首页白屏的问题,产生很差的用户体验.本文以react为例,提供一个解决方法. 解决原理:使用 onreadystatechang ...

  10. visio子流程创建

    已经画好了流程,想将一部分抽取成子流程: 多选中要抽取成子流程的的框图,点 菜单栏  中的 进程 选项,点此选项卡下面的第三个按钮: 根据所选内容创建 这样就会自动生成子流程,子流程的具体位置在 左下 ...