(5)MyBatis小总结:一个简单的例子
原创
©著作权归作者所有:来自51CTO博客作者后台技术汇的原创作品,请联系作者获取转载授权,否则将追究法律责任
日期:2017/12/6
求职中,加紧学习。(引用自某位前辈)
mybatis即是对JDBC的封装(重复代码的优秀封装),因为是半自动化ORM,所以sql其实需要我们自己写和封装的(xml标签装饰),下面介绍一个最简单的使用例子,实现“select * from employee where id=1”。
准备:
1. Mysql ,eclipse ;
2. jar包: mybatis-3.4.1.jar 、mysql-connector-java-5.1.37-bin.jar、log4j.jar(java常用开发包--log4j.jar )
3. 目录结构:
|configuration.xml
|testcase.java
|User.java
|User.xml
4.代码
4.1User.java:
package mybatis;
public class User {
private Integer id;
private String lastName;
private String email;
private String 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 String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
@Override
public String toString() {
return "Employee [id=" + id + ", lastName=" + lastName + ", email="
+ email + ", gender=" + gender + "]";
}
}
4.2 configuration.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="" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mybatis/User.xml" />
</mappers>
</configuration>
User.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="User">
<select id="selectUser" resultType="mybatis.User">
select * from employee where id=#{id}
</select>
</mapper>
4.4 testcase.java:
package 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;
public class testcase {
public static void main(String[] args) throws IOException {
String resource = "mybatis/configuration.xml";
Reader reader = Resources.getResourceAsReader(resource);
SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(reader);
SqlSession session = ssf.openSession();
try {
User user = (User) session.selectOne("User.selectUser", "1");
System.out.println(user);
} catch (Exception e) {
e.printStackTrace();
} finally {
session.close();
}
}
}
测试结果:
log4j:WARN No appenders could be found for logger (org.apache.ibatis.logging.LogFactory).
log4j:WARN Please initialize the log4j system properly.
Employee [id=1, lastName=mmb, email=144@qq.com, gender=0]
测试可用。WHAT IS MORE :(6)MyBatis小总结:一个简单的例子--接口编程改进