mybatis入门程序
1.加入jar包
c3p0-0.9.5.2.jar
log4j.jar
mybatis-3.4.1.jar
mysql-connector-java-5.1.37-bin.jar
2.配置全局配置文件
配置dataSources数据源
mybatis-config.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="users">
<environment id="users">
<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="19960215" />
</dataSource>
</environment>
</environments>
<!-- 将我们写好的sql映射文件(EmployeeMapper.xml)一定要注册到全局配置文件(mybatis-config.xml)中 -->
<mappers>
<mapper resource="User.xml" />
</mappers>
</configuration>、
配置 log4j.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<param name="Encoding" value="UTF-8" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS} %m (%F:%L) \n" />
</layout>
</appender>
<logger name="java.sql">
<level value="debug" />
</logger>
<logger name="org.apache.ibatis">
<level value="info" />
</logger>
<root>
<level value="debug" />
<appender-ref ref="STDOUT" />
</root>
</log4j:configuration>
3.编写entity实体类
User.java
package club.jiajiajia.mybatis.entity;
public class User {
private String email;
private String userName;
private String password;
private String sex;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public User(String email, String userName, String password, String sex) {
super();
this.email = email;
this.userName = userName;
this.password = password;
this.sex = sex;
}
@Override
public String toString() {
return "User [userName=" + userName + ", password=" + password + ", email=" + email + ", sex=" + sex + "]";
}
}
4.编写实体类的映射文件
并将User.xml配置到全局配置文件中
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="test">
<select id="getUser" parameterType="string" resultType="club.jiajiajia.mybatis.entity.User">
select * from users where email = #{email}
</select>
</mapper>
//namespace属性作用:在mybatis中,映射文件中的namespace是用于绑定Dao接口的,即面向接口编程。 当你的namespace绑定接口后,你可以不用写接口实现类,mybatis会通过该绑定自动帮你找到对应要执行的SQL语句
//parameterType属性作用:查询输入参数类型
//resultType属性作用:查询输出数据对象类型
//id属性作用:绑定mapperedStatement对象用于查询对象,User employee = openSession.selectOne("getUser", "123@163.com"); // id=getUser
5.测试
public SqlSessionFactory getSqlSessionFactory() throws IOException {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
return new SqlSessionFactoryBuilder().build(inputStream);
}
@Test
public void test() throws IOException {
SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
SqlSession openSession = sqlSessionFactory.openSession();
try {
User employee = openSession.selectOne(
"getUser", "123@163.com");
System.out.println(employee);
} finally {
openSession.close();
}
}