第二讲 帮助+基本文件管理+用户管理
2013-12-19 22:30
148 查看
1.Query createQuery(String qlString)
根据JPA的查询语句创建一个查询对象Query,如下面的代码:
Query q= em.createQuery(""SELECT t FROM Topic t WHERE t.topicTitle LIKE :topicTitle")");Query createNativeQuery(String sqlString)
使用本地数据库的SQL语句创建一个Query对象,Query通过getResultList()方法执行查询后,返回一个List结果集,每一行数据对应一个Vector。
2.Query
JPA使用javax.persistence.Query接口代表一个查询实例,Query实例由EntityManager通过指定查询语句构建。该接口拥有众多执行数据查询的接口方法:
n Object getSingleResult():执行SELECT查询语句,并返回一个结果;
n List getResultList() :执行SELECT查询语句,并返回多个结果;
n Query setParameter(int position, Object value):通过参数位置号绑定查询语句中的参数,如果查询语句使用了命令参数,则可以使用Query setParameter(String name, Object value)方法绑定命名参数;
n Query setMaxResults(int maxResult):设置返回的最大结果数;
n int executeUpdate():如果查询语句是新增、删除或更改的语句,通过该方法执行更新操作。
通过下面测试方法进行说明:
根据JPA的查询语句创建一个查询对象Query,如下面的代码:
Query q= em.createQuery(""SELECT t FROM Topic t WHERE t.topicTitle LIKE :topicTitle")");Query createNativeQuery(String sqlString)
使用本地数据库的SQL语句创建一个Query对象,Query通过getResultList()方法执行查询后,返回一个List结果集,每一行数据对应一个Vector。
2.Query
JPA使用javax.persistence.Query接口代表一个查询实例,Query实例由EntityManager通过指定查询语句构建。该接口拥有众多执行数据查询的接口方法:
n Object getSingleResult():执行SELECT查询语句,并返回一个结果;
n List getResultList() :执行SELECT查询语句,并返回多个结果;
n Query setParameter(int position, Object value):通过参数位置号绑定查询语句中的参数,如果查询语句使用了命令参数,则可以使用Query setParameter(String name, Object value)方法绑定命名参数;
n Query setMaxResults(int maxResult):设置返回的最大结果数;
n int executeUpdate():如果查询语句是新增、删除或更改的语句,通过该方法执行更新操作。
通过下面测试方法进行说明:
@Test public void query1() {//单条查询 EntityManagerFactory factory = Persistence.createEntityManagerFactory("itcast"); EntityManager em = factory.createEntityManager(); Query query = em.createQuery("select count(t) from Buyer t where t.username = ?1"); //select t 之类的是不能省略,当底层是hibernate时可以省略。 //输入的参数可以用":username", "?1"问号加上序号,序号自己指定 query.setParameter(1, "aa"); Buyer buyer = (Buyer)query.getSingleResult(); //当确定只有一条记录时用 //System.out.println(buyer.getUsername()); em.close(); factory.close(); } @Test public void query2() {//多条查询 EntityManagerFactory factory = Persistence.createEntityManagerFactory("itcast"); EntityManager em = factory.createEntityManager(); Query query = em.createQuery("select t from Buyer t where t.username = :username"); query.setParameter("username", "susen"); List<Buyer> buyers = query.getResultList();//有多条时用 for(Buyer b : buyers){ System.out.println(b.getUsername()); } em.close(); factory.close(); } @Test public void query3() {//删除查询 EntityManagerFactory factory = Persistence.createEntityManagerFactory("itcast"); EntityManager em = factory.createEntityManager(); em.getTransaction().begin(); em.createQuery("delete from Buyer t where t.username = ?1") .setParameter(1, "susen") .executeUpdate(); em.getTransaction().commit(); em.close(); factory.close(); } @Test public void query4() {//更新查询 EntityManagerFactory factory = Persistence.createEntityManagerFactory("itcast"); EntityManager em = factory.createEntityManager(); em.getTransaction().begin(); em.createQuery("update Buyer t set t.password = ?1 where t.username=?2") .setParameter(1, "111111") .setParameter(2, "susen") .executeUpdate(); em.getTransaction().commit(); em.close(); }
相关文章推荐
- Linux帮助信息获取用户文件权限管理(上)
- UNIX文件目录管理基本命令之who登录当前系统用户信息
- Linux成长之路(一)——基本概念及操作、用户及文件权限管理
- Linux帮助信息获取用户文件权限管理(下)
- Linux--基本概念、常用命令、文件与用户管理
- 用户以及文件管理基本命令
- Linux成长之路(一)——基本概念及操作、用户及文件权限管理
- htpasswd - 管理用于基本认证的用户文件
- Linux之用户和用户组管理-用户配置文件-组信息文件-基本信息
- htpasswd - 管理用于基本认证的用户文件
- 关于文件服务器有哪些用户连接及打开了哪些文件的管理
- Linux文件权限及用户管理
- Linux之管理用户和文件权限
- linux用户管理的一些基本知识
- Linux文件权限及用户管理
- Linux文件基本操作管理
- linux tips 文件基本操作管理
- Linux下基本的文件和目录管理命令学习教程
- ubuntu-基本命令篇-13-用户管理
- Linux基本命令――管理目录和文件的属性