mybaits入门
一、先配置主配置文件xml(mybaits-config.xml)
导入mybatis包(这里会链接mysql数据库所以mysql包也得导入)
注意:这里创建的实例是java项目
1 <?xml version="1.0" encoding="utf-8" ?> 2 <!-- 约束 --> 3 <!doctype configuration 4 public "-//mybatis.org//dtd config 3.0//en" 5 "http://mybatis.org/dtd/mybatis-3-config.dtd"> 6 7 <configuration> 8 <!-- 导入properties 文件 --> 9 <properties resource="db.properties"></properties> 10 11 <!--环境配置(链接数据库) --> 12 <environments default="development"> 13 <environment id="development"> 14 <!-- 事务控制 --> 15 <transactionmanager type="jdbc" /> 16 <!-- 数据源 --> 17 <datasource type="pooled"> 18 <property name="driver" value="${driver}"/> 19 <property name="url" value="${url}"/> 20 <property name="username" value="${username}"/> 21 <property name="password" value="${password}"/> 22 </datasource> 23 </environment> 24 </environments> 25 26 <!-- 引入映射文件 --> 27 28 <mappers> 29 <mapper resource="mybatis-student.xml"/> 30 </mappers> 31 </configuration>
二、建立properties联系数据源
1 driver=com.mysql.jdbc.driver 2 url=jdbc:mysql:///bj 3 username=root 4 password=123456
三、配置映射文件(mybatis-student.xml)(增删改查在这里进行)
1 <?xml version="1.0" encoding="utf-8" ?> 2 <!doctype mapper 3 public "-//mybatis.org//dtd mapper 3.0//en" 4 "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 5 6 <mapper namespace="student"> 7 <insert id="addstudent" parametertype="org.laogao.pojo.student"> 8 insert into student values(#{id},#{name},#{age},#{sex}); 9 </insert> 10 11 <delete id="delete" parametertype="org.laogao.pojo.student"> 12 delete from student where id=#{id} 13 </delete> 14 15 <update id="updatestudent" parametertype="org.laogao.pojo.student"> 16 update student set name=#{name},age=#{age},sex=#{sex} where id=#{id} 17 18 19 </update> 20 21 <select id="showstudent" resulttype="org.laogao.pojo.student"> 22 23 select * from student 24 </select> 25 26 <select id="showstudentone" resulttype="org.laogao.pojo.student" parametertype="org.laogao.pojo.student"> 27 28 select * from student where id=#{id} 29 30 </select> 31 </mapper>
四、建立测试类(这种公司里基本不用,但利于新手理解,了解即可)
常用类型请看mybaits进阶
public class testmybatis { @test //写法用的是junit public void addstudent() throws ioexception{ //解析主配置文件成一个输入流 inputstream stream = resources.getresourceasstream("mybaits-config.xml"); //sqlsession工厂 //通过sqlsessionfactorybuilder.build(stream)构建实例获得sqlsessionfactory sqlsessionfactory sqlsessionfactory = new sqlsessionfactorybuilder().build(stream); //生成sql sqlsession session = sqlsessionfactory.opensession(); //写一条数据 student student = new student(0, "hp", "12", "nv"); //增加 session.insert("student.addstudent", student); session.commit(); } @test public void deletestudentbyid() throws exception{ //解析主配置文件成一个输入流 inputstream stream = resources.getresourceasstream("mybaits-config.xml"); sqlsessionfactory sqlsessionfactory = new sqlsessionfactorybuilder().build(stream); sqlsession session = sqlsessionfactory.opensession(); session.delete("student.delete", 22); session.commit(); } @test public void updatestudentnyid() throws exception{ inputstream stream = resources.getresourceasstream("mybaits-config.xml"); sqlsessionfactory sqlsessionfactory = new sqlsessionfactorybuilder().build(stream); sqlsession session = sqlsessionfactory.opensession(); student student = new student(15, "sb", "20", "s"); session.update("student.updatestudent", student); session.commit(); } @test public void showstudent() throws exception{ inputstream stream = resources.getresourceasstream("mybaits-config.xml"); sqlsessionfactory sqlsessionfactory = new sqlsessionfactorybuilder().build(stream); sqlsession session = sqlsessionfactory.opensession(); list<student> studentlist=session.selectlist("student.showstudent",null); for (student student : studentlist) { system.out.println(student.tostring()); } } @test public void showstudentone() throws exception{ inputstream stream = resources.getresourceasstream("mybaits-config.xml"); sqlsessionfactory sqlsessionfactory= new sqlsessionfactorybuilder().build(stream); sqlsession session = sqlsessionfactory.opensession(); object student = session.selectone("student.showstudentone", 15); system.out.println(student.tostring()); } }