mybatis从入门到放弃(1)

来源:互联网 发布:网络用语野生什么意思 编辑:程序博客网 时间:2024/05/17 07:45
  • 开发工具    IntelliJ IDEA 2017.1.2

 首先idea  java 工程需要引入 jar包
         
          

         添加配置文件

创建数据库
       
create table tbl_employee(id int not nullprimary key,last_name varchar(50) null,email varchar(50) null,gender int null)

EmployeeMapper.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="com.lh.mybatisMapper.EmployeeMapper"><!--    namespace:名称空间;指定为接口的全类名    id:唯一标识    resultType:返回值类型    #{id}:从传递过来的参数中取出id值    public Employee getEmpById(Integer id);     --><select id="getEmpById" resultType="com.lh.mybatisVo.Employee">select id,last_name lastName,email,gender from tbl_employee where id = #{id}</select><insert id="insertEmp" parameterType="com.lh.mybatisVo.Employee">INSERT INTO tbl_employee(id,last_name,email,gender)VALUES (#{id},#{lastName} ,#{email},#{gender})</insert></mapper>

log4j.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">  <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">   <param name="Encoding" value="UTF-8" />   <layout class="org.apache.log4j.PatternLayout">    <param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS} %m  (%F:%L) \n" />   </layout> </appender> <logger name="java.sql">   <level value="debug" /> </logger> <logger name="org.apache.ibatis">   <level value="info" /> </logger> <root>   <level value="debug" />   <appender-ref ref="STDOUT" /> </root></log4j:configuration>

mybatis-config.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><environments default="development"><environment id="development"><transactionManager type="JDBC" /><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql://localhost:3306/test" /><property name="username" value="root" /><property name="password" value="123456xX" /></dataSource></environment></environments><!-- 将我们写好的sql映射文件(EmployeeMapper.xml)一定要注册到全局配置文件(mybatis-config.xml)中 --><mappers><mapper resource="EmployeeMapper.xml" /></mappers></configuration>


Employee
package com.lh.mybatisVo;public class Employee {    private Integer id;    private String lastName;    private String email;    private int gender;    public Integer getId() {        return id;    }    public void setId(Integer id) {        this.id = id;    }    public String getLastName() {        return lastName;    }    public void setLastName(String lastName) {        this.lastName = lastName;    }    public String getEmail() {        return email;    }    public void setEmail(String email) {        this.email = email;    }    public int getGender() {        return gender;    }    public void setGender(int gender) {        this.gender = gender;    }    @Override    public String toString() {        return "Employee [id=" + id + ", lastName=" + lastName + ", email="                + email + ", gender=" + gender + "]";    }}

EmployeeMapper
package com.lh.mybatisMapper;import com.lh.mybatisVo.Employee;public interface EmployeeMapper {public Employee getEmpById(Integer id);public int insertEmp(Employee employee);}


测试
package com.lh.mybatis;import com.lh.mybatisMapper.EmployeeMapper;import com.lh.mybatisVo.Employee;import com.sun.org.apache.bcel.internal.generic.NEW;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 java.io.IOException;import java.io.InputStream;/** * Created by lh on 2017/10/10. */public class MybatisTest {    public static void main(String[] args) throws IOException {        String resource = "mybatis-config.xml";        InputStream inputStream = Resources.getResourceAsStream(resource);        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);        SqlSession session = sqlSessionFactory.openSession();        EmployeeMapper mapper = session.getMapper(EmployeeMapper.class);        Employee employee = mapper.getEmpById(1);        System.out.println(employee.toString());        Employee  newEmp =new Employee();        newEmp.setId(2);        newEmp.setEmail("lh1@163.com");        newEmp.setGender(0);        newEmp.setLastName("lh1");        int i = mapper.insertEmp(newEmp);        Employee employee2 = mapper.getEmpById(2);        System.out.println(employee2.toString());        session.commit();    }}


运行结果
DEBUG 10-10 10:27:55,324 ==>  Preparing: select id,last_name lastName,email,gender from tbl_employee where id = ?   (BaseJdbcLogger.java:145) DEBUG 10-10 10:27:55,453 ==> Parameters: 1(Integer)  (BaseJdbcLogger.java:145) DEBUG 10-10 10:27:55,485 <==      Total: 1  (BaseJdbcLogger.java:145) Employee [id=1, lastName=lh, email=lh@163.com, gender=0]DEBUG 10-10 10:27:55,486 ==>  Preparing: INSERT INTO tbl_employee(id,last_name,email,gender) VALUES ( ?, ? , ?, ? )   (BaseJdbcLogger.java:145) DEBUG 10-10 10:27:55,488 ==> Parameters: 2(Integer), lh1(String), lh1@163.com(String), 0(Integer)  (BaseJdbcLogger.java:145) DEBUG 10-10 10:27:55,493 <==    Updates: 1  (BaseJdbcLogger.java:145) 1DEBUG 10-10 10:27:55,493 ==>  Preparing: select id,last_name lastName,email,gender from tbl_employee where id = ?   (BaseJdbcLogger.java:145) DEBUG 10-10 10:27:55,493 ==> Parameters: 2(Integer)  (BaseJdbcLogger.java:145) DEBUG 10-10 10:27:55,493 <==      Total: 1  (BaseJdbcLogger.java:145) Employee [id=2, lastName=lh1, email=lh1@163.com, gender=0]







原创粉丝点击