Student s = new Student();
s.setId(8);
s.setSname("卫江波");
s.setSex("boy");
s.setAge(24);
s.setSchool("黑龙江科技大学");
Configuration con = new Configuration().configure(); // 读取hibernate.cfg.xml配置文件
SessionFactory factory = con.buildSessionFactory();// 通过hibernate.cfg.xml中的配置,创建SessionFactory
Session session = factory.openSession();// 通过SessionFactory打开一个和数据库的会话
Transaction tr = session.beginTransaction();// 通过Session开启事务
tr.begin();
session.save(s);//向数据库添加数据
session.update(s);//修改
session.delete(s);//删除
tr.commit();//提交事务
/*List studentList = null;
String hql = "FROM Student";
Query query = session.createQuery(hql);
studentList = query.list();
Iterator it = studentList.iterator();
while(it.hasNext()) {
Student temp = (Student) it.next();
System.out.println(temp.getId()+"-->"+temp.getSname()+"-->"+temp.getSex()+"" +
"-->"+temp.getAge()+"-->"+temp.getSchool());
}*/
List studentList = null;
String hql = "FROM Student WHERE id=?";
Query query = session.createQuery(hql);
query.setInteger(0,6);
studentList = query.list();
Iterator it = studentList.iterator();
if(it.hasNext()) {
Student temp = (Student) it.next();
System.out.println(temp.getId()+"-->"+temp.getSname()+"-->"+temp.getSex()+"" +
"-->"+temp.getAge()+"-->"+temp.getSchool());
}
// 关闭session
session.close();
分页
Query query = getSession().createQuery(sql);
query.setFirstResult((page - 1) * pagesize);
query.setMaxResults(pagesize);
return query.list();
String sql = "from Resource where owner.id = ?";
return getSession().createQuery(sql).setInteger(0, owner.getId().intValue()).list();
createCriteria
在开发中,我们经常需要在ListView中模拟一些数据,最快速简单的做法就是使用ArrayAdapter来做。
当然,这只是用来快速实现效果,一般开发中还是需要定制Adapter,通过继承BaseAdapter的getView(),来获得特别的ListView Item。
效果:
下面直接看代码:
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import com.ehr.main.R; public class Act_High_Level_Search extends Activity { private ViewHolder viewHolder; class ViewHolder { private Button btnBack; private ListView lvItems; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.frg_high_level_search); viewHolder = new ViewHolder(); iniComponent(); } private void iniComponent() { viewHolder.btnBack = (Button)findViewById(R.id.btn_back); viewHolder.lvItems = (ListView)findViewById(R.id.listView); viewHolder.btnBack.setOnClickListener(clickListener); viewHolder.lvItems.setAdapter(new ArrayAdapter<String>(Act_High_Level_Search.this, android.R.layout.simple_expandable_list_item_1,getData())); } private View.OnClickListener clickListener = new View.OnClickListener() { public void onClick(View v) { switch (v.getId()) { case R.id.btn_back: finish(); break; } } }; private List<String> getData() { List<String> dataList = new ArrayList<String>(); dataList.add("进度状态"); dataList.add("是否超期"); dataList.add("执行人"); dataList.add("发起人"); dataList.add("任务"); dataList.add( "项目"); dataList.add("预期进展"); dataList.add("日期"); return dataList; } }
SharedPreference:
创建:
SharedPreferences settings = this.getSharedPreferences("TestXML", 0);
这四种模式前面介绍使用文件方式保存数据时已经讲解过。如果希望SharedPreferences背后使用的xml文件能被其他应用读和写,可以指定定Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE权限。
Context.MODE_PRIVATE MODE_MULTI_PROCESS
写:
以键值<String Key,String Value> 方式加入数据
SharedPreferences.Editor localEditor = settings.edit();
localEditor.putBoolean("ShowNote", false);
IocalEditor.commit();
读:
String str = settings.getString("ShowNote", "");
PreferenceActivity:
1.在设置界面中所有的内容会自动读和写,当PreferenceActivity上的View有所更改时,系统会自动将对应的值更新到XML配置文件中,该文件可以在android 的 file explorer 中的 data/data/"yourPageName"/shared_prefs/"yourpageName"_prefenrences.xml中找到。“yourpageName”表示你项目所在的包。
2.如果要其他地方读配置PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext())取得一个SharedPreference。
3.还有一个重要的问题,就是如何响应PreferenceActivity的操作。其实只要重写PreferenceActivity的 onPreferenceTreeClick的方法就可以了,通过参数preference来判断是对那一个元素
进行的,并根据需要进行操作。
@Override
public boolean onPreferenceTreeClick(PreferenceScreen
preferenceScreen,
Preference preference) {
return false;
}
也可每个看成是普通的控件然后加监听。
getPreferences(): 另外Activity还提供了另一个getPreferences(mode)方法操作SharedPreferences,这个方法默认使用当前类不带包名的类名作为文件的名称。
getSharedPreferences():获取到作用域是本应用程序的preference
getDefaultSharedPreferences():获取到全局作用域的preference
通
过Context.getSharedPreferences()方法来读写数值,这个方法通过设置name来使得同一个程序内的其它模块共享数据。如果不需要与其它模块共享数据,可以使用Activity.getPreferences()方法保持数据私有