Mybatis使用xml配置
maven配置
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.18</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.4</version>
</dependency>
bean
package com.parsley.bean;
public class Student {
private Integer id;
private String name;
private String sex;
private Integer 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 Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
", sex='" + sex + '\'' +
", age=" + age +
'}';
}
}
mybatis
mybatis-config
前面是对数据库连接进行配置
后面是mapper配置
<?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/mybatis?characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="123"/>
</dataSource>
</environment>
</environments>
<!-- 映射xml -->
<mappers>
<mapper resource="Student.xml"/>
</mappers>
</configuration>
Studet.xml
mapper写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">
<mapper namespace="com.parsley.bean">
<insert id="insertStudent" >
insert into student values(null,#{name},#{sex},#{age})
</insert>
<select id="getById" resultType="com.parsley.bean.Student">
select * from student where id=#{id}
</select>
</mapper>
#{name}是取参数
文件名字与mybatis-config.xml中mapper标签一致(注意路径)
insert,select 标签里面可以填写parameterType指定输入参数类型(可不写)
StudentDao
package com.parsley.dao;
import com.parsley.bean.Student;
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 java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class StudentDao {
public void insert(Student student){
//mybatis-config.xml文件
String resources="mybatis-config.xml";
InputStream inputStream= null;
try {
inputStream = Resources.getResourceAsStream(resources);
} catch (IOException e) {
e.printStackTrace();
}
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session=sqlSessionFactory.openSession();
//前面对应Student.xml里标签上的id
//后面对应参数
session.insert("insertStudent",student);
session.commit();
session.close();
}
public Student getById(Integer id){
String resources="mybatis-config.xml";
InputStream inputStream= null;
try {
inputStream = Resources.getResourceAsStream(resources);
} catch (IOException e) {
e.printStackTrace();
}
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session=sqlSessionFactory.openSession();
Student student=session.selectOne("getById",1);
//列表用session.selectList
return student;
}
}
目录结构