一双跑鞋的mybatis(一)---mybatis入门例子

来源:互联网 发布:meta robots优化 编辑:程序博客网 时间:2024/04/28 08:03

mybatis主要有三个配置文件分别为数据连接配置文件,主配置文件和sql语句映射的配置文件

1.下载mybatis添加配置文件

将mybatis-3.2.7.jar和mysql-connector-jar-3.1.13-bin.jar加入到环境变量中

然后在src目录下配置数据库连接属性配置文件,connection.properties

配置文件如下:

driver=com.mysql.jdbc.Driverurl=jdbc:mysql://127.0.0.1:3306/senssicusername=rootpassword=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;@Beforepublic void init() {try {InputStream inStream = Resources.getResourceAsStream("mybatisConf.xml");SqlSessionFactory sFactory = new SqlSessionFactoryBuilder().build(inStream);sqlSession = sFactory.openSession();} catch (Exception e) {e.printStackTrace();}}@Testpublic 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();}}



0 0
原创粉丝点击