一、新建一个web项目、导入mybatis得jar包 mybatis-3.5.4.jar就可以
jar包路径:https://github.com/mybatis/mybatis-3/releases
二、在src同级下建立一个config包
三、配置SqlMapConfig.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配置文件, 我这里面配置的是数据库相关 -->
<properties resource="db.properties"></properties>
<!-- 指定Mybatis使用log4j -->
<!--
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<!--
如果上面没有指定数据库配置的properties文件,那么此处可以这样直接配置
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/java"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
-->
<!-- 上面指定了数据库配置文件, 配置文件里面也是对应的这四个属性 -->
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<!-- 映射文件,mybatis精髓, 后面才会细讲 -->
<mappers>
<mapper resource="User.xml"/>
</mappers>
</configuration>
db.properties文件配
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/java
jdbc.username=root
jdbc.password=123456
注:这两中连接方式选着一种就可以
四、在数据库中添加user表
六、现在开始编写javaBean
package javademo;
public class User {
private Integer id;
private String name;
private String sex;
private int age;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", sex=" + sex + ", age=" + age + "]";
}
再编写一个UserDao 接口
package db;
import java.util.List;
import javademo.User;
public interface UserDao {
public void insert(User user);
public User findUserById (int userId);
public List<User> findAllUsers();
}
再编写一个userDao-mapping.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="db.UserDao">
<select id="findUserById" resultType="javademo.User" >
select * from user where id = #{id}
</select>
</mapper>
测试代码UserDaoTest
package db;
import java.io.IOException;
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 javademo.User;
public class TestMybatis {
//Mybatis 通过SqlSessionFactory获取SqlSession, 然后才能通过SqlSession与数据库进行交互
private static SqlSessionFactory getSessionFactory() {
SqlSessionFactory sessionFactory = null;
String resource = "SqlMapConfig.xml";
try {
sessionFactory = new SqlSessionFactoryBuilder().build(Resources
.getResourceAsReader(resource));
} catch (IOException e) {
e.printStackTrace();
}
return sessionFactory;
}
//@Test
public void findUserById() {
SqlSession sqlSession = getSessionFactory().openSession();
UserDao userMapper = sqlSession.getMapper(UserDao.class);
User user = userMapper.findUserById(1);
//Assert.assertNotNull("没找到数据", user);
System.out.println(user);
}
public static void main(String[] args) throws IOException
{
// MybatisFirst mybatis = new MybatisFirst();;
// mybatis.selectUserById(1);
TestMybatis t = new TestMybatis();
t.findUserById();
}
}