Mybatis注解的流程:
第一步:创建一个MySQL数据表,将表中插入数据
第二步:创建一个实体类,属性名与数据库中字段名相同
public class User {
private int id;
private String name;
private String dept;
private String phone;
private String website;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDept() {
return dept;
}
public void setDept(String dept) {
this.dept = dept;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getWebsite() {
return website;
}
public void setWebsite(String website) {
this.website = website;
}
}
第三步:配置实体类:
<mapper namespace="com.zhiyuan.model.UserMapper">
<select id="GetUserByID" parameterType="int" resultType="User">
select * from `user` where id = #{id}
</select>
</mapper>
第四步:配置Mybatis的配置文件
<configuration>
<typeAliases>
<typeAlias alias="User" type="com.zhiyuan.model.User" />
</typeAliases>
<!-- environments的default属性有两个值,分别为development和work。分别代表开发状态和工作状态 -->
<environments default="development">
<environment id="development"><!-- 此处的id值必须要和default的值保持一致 -->
<transactionManager type="JDBC" /><!-- 事务管理类型使用jdbc -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://127.0.0.1:3306/yuan" />
<property name="username" value="root" />
<property name="password" value="yuanjun" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/zhiyuan/model/User.xml" />
</mappers>
</configuration>
第五步:编写测试类
public class MainApp {
public static void main(String[] args) throws IOException {
Reader is = Resources.getResourceAsReader("conf.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
SqlSession session = sqlSessionFactory.openSession();
User user = (User) session.selectOne("com.zhiyuan.model.UserMapper." + "GetUserByID", 1);
if (user != null) {
String userInfo = "名字:" + user.getName() + ", 所属部门:" + user.getDept() + ", 主页:" + user.getWebsite();
System.out.println(userInfo);
}
}
}