IDEA+mybatis的实例
1.导入mybatis的必需包
2.创建实体类
package com.tang.javabean;
public class Users {
private int uid;
private String uname;
private String usex;
private String uaddress;
public Users() {
}
public Users(int uid, String uname, String usex, String uaddress) {
this.uid = uid;
this.uname = uname;
this.usex = usex;
this.uaddress = uaddress;
}
public int getUid() {
return uid;
}
public String getUname() {
return uname;
}
public String getUsex() {
return usex;
}
public String getUaddress() {
return uaddress;
}
public void setUid(int uid) {
this.uid = uid;
}
public void setUname(String uname) {
this.uname = uname;
}
public void setUsex(String usex) {
this.usex = usex;
}
public void setUaddress(String uaddress) {
this.uaddress = uaddress;
}
}
3.创建实体类方法接口
package com.tang.pojo;
import com.tang.javabean.Users;
import java.util.List;
public interface UsersMapper {
/* 展示方法 */
List<Users> show();
/* 增加方法 */
void add(Users user);
}
4.编写接口对应的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="com.tang.pojo.UsersMapper">
<select id="show" resultType="com.tang.javabean.Users">
SELECT * FROM USERS;
</select>
<insert id="add" parameterType="com.tang.javabean.Users">
/* 添加的列不区分大小写,后面添加的具体的值,来自实体类的属性,必须与实体类属性完全一致 */
INSERT INTO USERS (UNAME,USEX,UADDRESS) VALUES (#{uname},#{usex},#{uaddress});
</insert>
</mapper>
5.编写mybatis.cfg.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:3308/hib_demo1?useUnicode=true&characterEncoding=UTF-8" />
<property name="username" value="root" />
<property name="password" value="123456" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/tang/pojo/UsersMapper.xml" />
</mappers>
</configuration>
6.编写测试类(增加,查询)
package com.tang.mains;
import com.tang.javabean.Users;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import javax.swing.*;
import java.util.List;
public class Test1 {
/* 打开session */
static SqlSession opensession(){
/*得到返回数据*/
SqlSessionFactoryBuilder sqlb = new SqlSessionFactoryBuilder();
/*读取数据连接*/
SqlSessionFactory sqlf = sqlb.build(Action.class.getResourceAsStream("/mybatis.cfg.xml"));
/* 打开session获取session对象 */
SqlSession session = sqlf.openSession();
return session;
}
/* 展示方法 */
static void show(){
/*得到返回数据*/
SqlSessionFactoryBuilder sqlb = new SqlSessionFactoryBuilder();
/*读取数据连接*/
SqlSessionFactory sqlf = sqlb.build(Action.class.getResourceAsStream("/mybatis.cfg.xml"));
/* 打开session获取session对象 */
SqlSession session = sqlf.openSession();
/* 调用session中的方法 */
List<Users> list = session.selectList("show");
for(Users u:list) {
System.out.println(u.getUid() + "\t" + u.getUname() + "\t" + u.getUsex() + "\t" + u.getUaddress());
}
session.close();
}
/* 增加方法 */
static void add(Users u){
SqlSession session = opensession();
try{
/* 调用session中的方法 */
session.insert("add",u);/* 参数1:add(方法名),参数2:u(变量) */
session.commit();
} catch(Exception e) {
session.rollback();;
e.printStackTrace();
} finally{
session.close();
}
};
public static void main(String[] args) {
}
}
7.测试结果
注意事项:
1.导入mybatis的jar包的时候必需导入所有的必需包;
2.实体类的接口的xml文件的头文件以及mybatis.cfg.xml文件的头文件
mybatis的头文件:
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
接口的xml文件的头文件:
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">