mybatis01
来源:互联网 发布:神话软件下载 编辑:程序博客网 时间:2024/06/08 02:22
1、建立mybatis 目录,jdbc目录,存放 mybatis和jdbc的jar包,例如:
mybatis-3.4.5.jar
sqljdbc42.jar //这个是连接SqlServer的jdbc包,如果是MySQL或者oracle则需要另外的jar包
2、建立mybatis-config.xml和 jdbc.properties 文件(src目录下)
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>
<!--配置关联文件-->
<properties resource="jdbc.properties"/>
<!--配置别名-->
<typeAliases>
<typeAlias alias="Student" type="com.java1234.model.Student"/>
</typeAliases>
<!--配置环境-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
</environments>
<!--配置映射文件-->
<mappers>
<mapper resource="com/java1234/mappers/StudentMapper.xml" />
</mappers>
</configuration>
jdbc.properties文件:
jdbc.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.url=jdbc:sqlserver://localhost:1433;DatabaseName=mydb
jdbc.username=sa
jdbc.password=123456
3、Java代码编写,最简单的目录
MySqlSession.java,得到 SqlSession工具类:
public class MySqlSession {
private static SqlSessionFactory sessionFactory;
public static SqlSessionFactory getSessionFactory() {
if (sessionFactory==null) {
InputStream inputStream=null;
try {
inputStream = Resources.getResourceAsStream("mybatis-config.xml");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
}
return sessionFactory;
}
public static SqlSession getSqlSession() {
return getSessionFactory().openSession();
}
}
StudentMapper.java,接口类,定义数据库操作类型:
public interface StudentMapper {
int add(Student student);
}
StudentMapper.xml,xml文件中定义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.java1234.mappers.StudentMapper">
<!--此处的id与对应的接口类中对应的方法名相同,Student为传入的参数,是在typeAlias中定义过别名,不然需要带上包名-->
<insert id="add" parameterType="Student" >
<!--此处id为空,name和age分别对应Student的属性-->
insert into student values(null,#{name},#{age})
</insert>
</mapper>
最后测试类:
public static void main(String[] args) {
//得到SqlSession
SqlSession session=MySqlSession.getSqlSession();
//得到相应的sql执行类
StudentMapper studentMapper=session.getMapper(StudentMapper.class);
Student student=new Student(2, "zhanghe", 23);
//sql执行,成功的话结果大于0
int result=studentMapper.add(student);
//执行完需要提交
session.commit();
}