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]
阅读全文
0 0
- mybatis从入门到放弃(1)
- 从入门到放弃C语言-入门篇(1)
- MyBatis从入门到放弃七:二级缓存原理分析
- 从入门到放弃C语言-瞎倒腾(1)
- JavaWeb从入门到放弃(1)-配置环境
- Java web从入门到放弃(1)
- JavaScript从入门到放弃 1
- OpenLayers从入门到放弃(1)
- WebMagic从入门到放弃(1)
- Docker 从入门到放弃(一)
- 策略模式(从放弃到入门)
- 观察者模式(从放弃到入门)
- JSP--(二)从入门到放弃
- Kotlin从入门到“放弃”(一)
- DOCKER 从入门到放弃(三)
- JavaScript从入门到放弃(一)
- JavaScript从入门到放弃(二)
- JavaScript从入门到放弃(三)
- linux的cache memory解析
- 【转】MPI简介
- layer弹出层显示在top顶层
- Ubuntu 10.10下安装与配置Squid代理软件
- 看完一个在校大学生的Java学习历程,我觉得我还能学得更多
- mybatis从入门到放弃(1)
- texturePacker的使用
- lua笔记(1)
- python_lintcode_700Cutting a Rod_418整数转罗马数字
- 模型的定义
- WPF
- iOS 根据时间戳获取星期几
- PHP_SCREW 加密
- iOS 根据视频url获取某一帧图片并实现三级缓存