// Student.java 实体类 package com.tao.pojo; import java.util.List; public class Student { private int id; private String name; private String gender; private int age; //list集合 private List<String> hobby; //Map 集合 //private Map<Integer,String> hobby=new HashMap<Integer,String>(); public Student() { super(); } public Student(int id, String name, String gender, int age) { super(); this.id = id; this.name = name; this.gender = gender; this.age = age; } public Student(String name, String gender, int age, List<String> hobby) { super(); this.name = name; this.gender = gender; this.age = age; this.hobby = hobby; } public Student(int id, String name, String gender, int age, List<String> hobby) { super(); this.id = id; this.name = name; this.gender = gender; this.age = age; this.hobby = hobby; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public List<String> getHobby() { return hobby; } public void setHobby(List<String> hobby) { this.hobby = hobby; } @Override public String toString() { return "Student [id=" + id + ", name=" + name + ", gender=" + gender + ", age=" + age + "]"; } } //Student.hbm.xml 映射文件 <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="org.hibernate.test.schemaupdate"> <class name="com.tao.pojo.Student" table="student"> <id name="id" column="id"></id> <property name="name" column="name" type="string"/> <property name="age" column="age"/> <list name="hobby" table="stu_hobby"> <!-- 外键,自己起名 --> <key column="sid"></key> <!--索引列 --> <list-index column="stu_index"></list-index> <!--其他普通列 --> <element column="descx" type="string"></element> </list> <!--map集合 --> <!-- <map name="hobby" table="bobby"> <key column="sid"></key> <index column="stu_id" type="int"></index> <element column="descx" type="string"></element> </map> --> </class> </hibernate-mapping> // hibernate.cfg.xml 配置文件 <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- 数据库连接部分 --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/test0111_list?characterEncoding=utf-8</property> <property name="connection.username">root</property> <property name="connection.password">root</property> <!--显示SQl语句 --> <property name="show_sql">true</property> <property name="format_sql">true</property> <!--MySQL数据库方言 --> <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property> <!-- 自动创建或生成表--> <property name="hbm2ddl.auto">update</property> <!--映射文件 --> <mapping resource="com/tao/pojo/Student.hbm.xml"/> </session-factory> </hibernate-configuration> // Test.java 测试类 package com.tao.test; import java.util.ArrayList; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.hibernate.dialect.MySQL5Dialect; import com.tao.pojo.Student; public class Test { public static void main(String[] args) { Configuration configure = new Configuration().configure(); SessionFactory factory = configure.buildSessionFactory(); Session session = factory.openSession(); session.beginTransaction(); //添加数据(在添加数据之前先——生成表,把添加数据部分先注释) Student stu = new Student(1, "aa", "nn", 25); ArrayList<String> hobby = new ArrayList<String>(); hobby.add("旅游"); hobby.add("散步"); hobby.add("学习"); hobby.add("跳舞"); stu.setHobby(hobby); session.save(stu); /*//Map添加数据 Student stu1 = new Student(2, "吖吖", "男", 26); stu.getHobby().put(1, "读书"); stu1.getHobby().put(2, "旅游"); stu2.getHobby().put(3, "跳舞"); stu2.getHobby().put(4, "唱歌"); session.save(stu); */ session.getTransaction().commit();; session.close(); factory.close(); } }