java之mybatis之helloworld
1. MyBatis 是一款一流的支持自定义SQL、存储过程和高级映射的持久化框架。
MyBatis几乎消除了所有的 JDBC 代码,也基本不需要手工去设置参数和获取检索结果。
MyBatis几乎能够使用所有简单的 XML 格式 或注解来进行配置,能够映射基本数据元素、Map 接口和 POJOs(普通java对象)到数据库中的记录。
2. MyBatis是一款半自动化的orm框架。
3. MyBatis 也叫 ibatis。
4.下面演示一个mybatis的简单案例
目录结构如下:
(1). 新建 java 项目 :mybatis_helloworld
(2). 在目录结构的lib下导入mybatis需要的jar包, 并且 build 操作
mybatis-3.2.7.jar
mysql-connector-java-5.1.20-bin.jar
(3). 在 src 下编写 mybatis 的核心配置文件
mybatis.cfg.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="root" /> </dataSource> </environment> </environments> <mappers> <mapper resource="cn/vincent/vo/UserMapper.xml"/> </mappers> </configuration>
(4). 编写 vo 类
User.java
1 package cn.vincent.vo; 2 3 import java.io.Serializable; 4 5 public class User implements Serializable{ 6 7 private int id; 8 private String name; 9 private int age; 10 public int getId() { 11 return id; 12 } 13 public void setId(int id) { 14 this.id = id; 15 } 16 public String getName() { 17 return name; 18 } 19 public void setName(String name) { 20 this.name = name; 21 } 22 public int getAge() { 23 return age; 24 } 25 public void setAge(int age) { 26 this.age = age; 27 } 28 @Override 29 public String toString() { 30 return "User [id=" + id + ", name=" + name + ", age=" + age + "]"; 31 } 32 33 34 }
(5) . 编写映射文件
UserMapper.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="cn.vincent.vo.UserMapper"> <select id="selectUser" parameterType="int" resultType="cn.vincent.vo.User"> select * from t_user where id = #{id} </select> </mapper>
(6). 测试
Demo.java(位置可参考目录结构)
package cn.vincent.mybatis; import java.io.IOException; import java.io.Reader; 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 cn.vincent.vo.User; public class Demo { public static void main(String[] args) throws IOException{ Reader reader=Resources.getResourceAsReader("mybatis.cfg.xml"); SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader); SqlSession session=sqlMapper.openSession(); User user=session.selectOne("cn.vincent.vo.UserMapper.selectUser",1); System.out.println(user); } }