ant property 总结

特点

大小写敏感; 不可改变,先到先得,谁先设定,之后的都不能改变。

怎样设置

1、设置name和value属性值,比如:<property name="srcdir"

value="${basedir}/src"/>

2、 设置name和refid属性值,比如:<property name="srcpath"

refid="dao.compile.classpath"/>,其中dao.compile.classpath在别的地方定义。

3、设置name和location属性值,比如:<property name="srcdir"

location="src"/>,即将srcdir的值设 置为:当前项目根目录的/src目录。

4、设置file属性值,比如:<property file="build.properties"/>, 导入build.properties属性文件中的属性值

5、设置resource属性值,比如:<propety resource="build.properties"/>,导入build.properties属性文件中的属性值

6、设置url属性值,比如:<property

url="/wiflish/build.properties"/>,导入

/wiflish/build.properties属性文件中的属性值。

7、设置环境变量,比如:<property environment="env"/>,设置系统的环境变量为前缀env.

<property name="tomcat.home" value="${env.CATALINA_HOME}"/> 将系统的tomcat安装目录设置到 tomcat.home属性中。

内置属性

Ant’s built-in properties:

System properties

antproperty总结

antproperty总结

用法 ${key_name},如:${os.name},它将得到当前操作系统的名称。

需注意

1. 内置属性basedir

-- 不需要定义就可以直接使用,${basedir},得到当前工程的绝对路径 -- 当在<project>标签的basedir属性中指定basedir时,之后工程中出现的所有相对路径都是相对于这个basedir所指向的路径,且${basedir}的值也将变为<project>标签中的basedir属性所指定的值。

2. property的不变性在使用<available><ant><antcall>时会被打破

3. 可以在命令行通过-DpropertyName=propertyValue的方式指定property,注意,-D于propertyName之间没有空格,使用这种方式指定的属性最先被赋值,它是在执行build文件之前就已经赋值了的。

antproperty总结

 

第二篇:hibernate -- HQL语句总结

1. 查询整个映射对象所有字段

//直接from查询出来的是一个映射对象,即:查询整个映射对象所有字段 String hql = "from Users";

Query query = session.createQuery(hql);

List<Users> users = query.list();

for(Users user : users){

System.out.println(user.getName() + " : " + user.getPasswd() + " : " + user.getId());

}

输出结果为:

name1 : password1 : 1

name2 : password2 : 2

name3 : password3 : 3

2.查询字段

//查询其中几个字段

String hql = " select name,passwd from Users";

Query query = session.createQuery(hql);

//默认查询出来的list里存放的是一个Object数组

List<Object[]> list = query.list();

for(Object[] object : list){

String name = (String)object[0];

String passwd = (String)object[1];

System.out.println(name + " : " + passwd);

}

输出结果为:

name1 : password1

name2 : password2

name3 : password3

3.修改默认查询结果(query.list())不以Object[]数组形式返回,以List形式返回

//查询其中几个字段,添加new list(),注意list里的l是小写的。也不需要导入包,这样通过query.list()出来的list里存放的不再是默认的Object数组了,而是List集合了

String hql = " select new list(name,passwd) from Users"; Query query = session.createQuery(hql);

//默认查询出来的list里存放的是一个Object数组,但是在这里list里存放的不再是默认的Object数组了,而是List集合了

List<List> list = query.list();

for(List user : list){

String name = (String)user.get(0);

String passwd = (String)user.get(1);

System.out.println(name + " : " + passwd);

}

/**

输出结果为:

name1 : password1

name2 : password2

name3 : password3

*/

4.修改默认查询结果(query.list())不以Object[]数组形式返回,以Map形式返回

//查询其中几个字段,添加new map(),注意map里的m是小写的。也不需要导入包,这样通过query.list()出来的list里存放的不再是默认的Object数组了,而是map集合了

String hql = " select new map(name,passwd) from Users"; Query query = session.createQuery(hql);

//默认查询出来的list里存放的是一个Object数组,但是在这里list里存放的不再是默认的Object数组了,而是Map集合了

List<Map> list = query.list();

for(Map user : list){

//一条记录里所有的字段值都是map里的一个元素,key是字符串0,1,2,3....,value是字段值

// 如果将hql改为:String hql = " select new map(name as username,passwd as password) from Users";,那么key将不是字符串0,1,2...了,而是"username","password"了

String name = (String)user.get("0");//get("0");是get(key),注意:0,1,2...是字符串,而不是整形

String passwd = (String)user.get("1");

System.out.println(name + " : " + passwd);

}

/**

输出结果为:

name1 : password1

name2 : password2

name3 : password3

*/

5.修改默认查询结果(query.list())不以Object[]数组形式返回,以自定义类型返回

6.条件查询

//条件查询,参数索引值从0开始,索引位置。通过setString,setParameter设置参数

String hql = "from Users where name=? and passwd=?"; Query query = session.createQuery(hql);

//第1种方式

// query.setString(0, "name1");

// query.setString(1, "password1");

//第2种方式

query.setParameter(0, "name1",Hibernate.STRING); query.setParameter(1, "password1",Hibernate.STRING); List<Users> list = query.list();

for(Users users : list){

System.out.println(users.getId());

}

//条件查询,自定义索引名(参数名):username,:password.通过

setString,setParameter设置参数

String hql = "from Users where name=:username and

passwd=:password";

Query query = session.createQuery(hql);

//第1种方式

// query.setString("username", "name1");

// query.setString("password", "password1");

//第2种方式,第3个参数确定类型

query.setParameter("username", "name1",Hibernate.STRING); query.setParameter("password",

"password1",Hibernate.STRING);

List<Users> list = query.list();

for(Users users : list){

System.out.println(users.getId());

}

//条件查询,通过setProperties设置参数

String hql = "from Users where name=:username and

passwd=:password";

Query query = session.createQuery(hql);

//MyUser类的2个属性必须和:username和:password对应 MyUser myUser = new MyUser("name1","password1"); query.setProperties(myUser);

List<Users> list = query.list();

for(Users users : list){

System.out.println(users.getId());

}

7.update 数据

执行SQL语句(为什么要用SQL语句,我想是为了执行某些复杂的SQL语句吧)

String sql="update Table set field = 'test'"

Session session = HibernateSessionFactory.getSession();

session.createSQLQuery(sql).executeUpdate();

ts.commit();

执行HQL语句

String hql="update Table set field = 'test'"

Session session = HiberanteSessionFactory.getSession();

Transaction ts = session.beginTransaction();

Query query = session.createQuery(hql);

query.executeUpdate();

ts.commit();

相关推荐