- 导入jar包
共13包
注意:mysql-connction的版本是5.1.7版低版本可能不行
2.编写配置文件
a. 配置连接数据库的文件
a.1创建数据库
user表
a.2配置文件目录
a.2.1db.properties(连接数据的数据)
db.driver=com.mysql.jdbc.Driver db.url=jdbc:mysql://localhost:3306/mybaties?useUnicode=true&characterEncoding=utf8 db.username=root db.password=abc
|
a.2.2SqlMapConfig.xml(连接javabean和数据库)
<?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> <!-- 加载java的配置文件或者声明属性信息 --> <properties resource="db.properties"> <property name="db.username" value="123" /> </properties> <!-- <settings></settings> --> <!-- 自定义别名 --> <typeAliases> <!-- 单个别名定义 --> <!-- <typeAlias type="po.User" alias="user"/> --> <!-- 批量别名定义(推荐) --> <!-- package:指定包名称来为该包下的po类声明别名,默认的别名就是类名(首字母大小写都可) --> <package name="po" /> </typeAliases> <!-- 配置mybatis的环境信息,与spring整合,该信息由spring来管理 --> <environments default="development"> <environment id="development"> <!-- 配置JDBC事务控制,由mybatis进行管理 --> <transactionManager type="JDBC"></transactionManager> <!-- 配置数据源,采用mybatis连接池 --> <dataSource type="POOLED"> <property name="driver" value="${db.driver}" /> <property name="url" value="${db.url}" /> <property name="username" value="${db.username}" /> <property name="password" value="${db.password}" /> </dataSource> </environment> </environments>
<!-- 加载映射文件 --> <mappers> <mapper resource="User.xml" /> <!-- <mapper resource="mapper/UserMapper.xml" /> -->
<!-- 批量加载映射文件 --> <package name="mapper" /> </mappers> </configuration>
|
a.2.3 User.xml(编写sql语句)
<?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"> <!-- namespace:命名空间,对statement的信息进行分类管理 --> <!-- 注意:在mapper代理时,它具有特殊及重要的作用 --> <mapper namespace="test"> <!-- 根据用户ID查询用户信息 --> <!-- select:表示一个MappedStatement对象 --> <!-- id:statement的唯一标示 --> <!-- #{}:表示一个占位符? --> <!-- #{id}:里面的id表示输入参数的参数名称,如果该参数是简单类型,那么#{}里面的参数名称可以任意 --> <!-- parameterType:输入参数的java类型 --> <!-- resultType:输出结果的所映射的java类型(单条结果所对应的java类型) --> <select id="findUserById" parameterType="int" resultType="po.User"> SELECT * FROM USER WHERE id =#{id} </select>
</mapper>
|
- 测试
User.java(javabean)
package po;
import java.util.Date;
public class User { private int id; private String username;// 名字 private String sex;// 年龄 private Date birthday;// 生日 private String address;//地址 public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "User [id=" + id + ", username=" + username + ", sex=" + sex + ", birthday=" + birthday + ", address=" + address + "]"; } }
|
MyBatisFrist.java
@Test public void findUserByIdTest() throws Exception{ //读取配置文件 //读取全局配置文件 String resource = "SqlMapConfig.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); //创建SqlSessionFactory SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //创建SqlSession SqlSession sqlSession = sqlSessionFactory.openSession(); //调用SqlSession 的增删改查方法 //第一个参数�表示statement的唯一标识 User user = sqlSession.selectOne("test.findUserById", 1); System.out.println(user); //关闭资源 sqlSession.close(); }
|
测试结果: