mybatis主要有三个配置文件分别为数据连接配置文件,主配置文件和sql语句映射的配置文件
1.下载mybatis添加配置文件
将mybatis-3.2.7.jar和mysql-connector-jar-3.1.13-bin.jar加入到环境变量中
然后在src目录下配置数据库连接属性配置文件,connection.properties
配置文件如下:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/senssic
username=root
password=qiyu0126
添加主配置文件,mybatisConf.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<properties resource="connection.properties"></properties>
<environments default="development">
<environment id="development">
<transactionManager type="jdbc">
</transactionManager>
<dataSource type="pooled">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/senssic/bean/AddressMapper.xml"/>
<mapper resource="org/senssic/bean/PersonMapper.xml"/>
</mappers>
</configuration>
实体类person:
package org.senssic.bean;
import java.util.List;
public class Person {
private int id;
private String name;
private int age;
private List<Address> addresses;
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 int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public List<Address> getAddresses() {
return addresses;
}
public void setAddresses(List<Address> addresses) {
this.addresses = addresses;
}
}
实体类address:
package org.senssic.bean;
public class Address {
private int id;
private String addrs;
private String code;
private Person person;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getAddrs() {
return addrs;
}
public void setAddrs(String addrs) {
this.addrs = addrs;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
}
添加映射:---至于关联保存和关联读取以后会专门一篇文章,此处未设置关联映射
AddressMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.senssic.bean.Address">
<insert id="add" parameterType="org.senssic.bean.Address">
insert into address(addrs,code) value(#{addrs},#{code})
</insert>
</mapper>
PersonMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.senssic.bean.Person">
<insert id="add" parameterType="org.senssic.bean.Person">
insert into person(name,age) value(#{name},#{age})
</insert>
</mapper>
测试类:
package org.senssic.test;
import java.io.IOException;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import org.senssic.bean.Address;
import org.senssic.bean.Person;
public class MyibatisTest {
private static SqlSession sqlSession;
@Before
public void init() {
try {
InputStream inStream = Resources
.getResourceAsStream("mybatisConf.xml");
SqlSessionFactory sFactory = new SqlSessionFactoryBuilder()
.build(inStream);
sqlSession = sFactory.openSession();
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void add() {
Person person = new Person();
person.setName("senssic");
person.setAge(20);
sqlSession.insert("org.senssic.bean.Person.add", person);
sqlSession.commit();
Address address = new Address();
address.setAddrs("大明路,大大街");
address.setCode("23000");
sqlSession.insert("org.senssic.bean.Address.add", address);
sqlSession.commit();
sqlSession.close();
}
}