第一个MyBatis程序 将一个学生信息写入到DB

来源:互联网 发布:java口袋精灵英雄大陆 编辑:程序博客网 时间:2024/06/03 14:58
     第一个MyBatis程序
          功能:将一个学生信息写入到DB
  导入Jar包

* MyBatis的Jar包(网站下载)mybatis-3.4.2\lib 以及  mybatis-3.4.2

               * MySql驱动Jar包(网站下载)mysql-connector-java-5.1.7-bin  各版本不一样,官网有提示。

1.创建DB表

         id,name,age,score    表名student

2.定义一个Student类

        id,name,age,score      不要定义为int,而要定义为Integer,带参构造器,则要显式地给出无参构造器。

                                                           ps:快捷键 ctrl+shift+s 有冲突  ,右击点Sourse 有构造方法以及set()get()。

3.定义Dao接口IStudentDao
  public interface IStudentDao {
void insertStudent(Student student);
}

4.定义映射文件

 找到mybatis-3.4.2.jar 找到dtd拓展名复制里面mybatis-3-mapper.dtd的地址。                  ps:难点,涉及到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>        联网之后才有提示(针对的是有网络版的配置方法) 。  后面程序写完之后,报错修改mapper
<insert id="insertStu" parameterType="com.abc.beans.Student">
insert into student(name,age,score) values(#{name}, #{age}, #{score})      ps:涉及到sql语句,insert into  表名(?,?,?),value(?,?,?)      解决办法: 百度 

</insert>
</mapper>

5.定义主配置文件
 StudentDaoimpl();
* 约束文件为mybatis-3.4.2.jar   中的 mybatis-3-config.dtd  配置相同道理

<?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" />          更改JDBC配置遇到问题,又回顾了视频,问老师才明白改的位置。
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql:///test" />          -----------ps:url链接本地数据库地址默认则用"///"     url" value="jdbc:mysql://localhost:3306/test" /
<property name="username" value="root" />
<property name="password" value="111" />
</dataSource>
</environment>

</environments>
<!-- 注册映射文件 -->
<mappers>
<mapper resource="com/abc/dao/mapper.xml" />
</mappers>
</configuration>


6.    StudentDaoimpl实现 IStudentDao接口

try {
// 加载主配置文件
InputStream is = Resources.getResourceAsStream("Mybatis.xml");
//创建SqlSessionfactory
SqlSessionFactory factory =builder.build(is);
//创建对象session
SqlSession session = factory.openSession();
//插入对象
session.insert("insertStu",student);          一直不出表的结果,原因为没有调用session.commit();      
session.commit();                                         
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();


7.测试类

   

Student student =new Student("zhangsan",11,11.5);
IStudentDao dao = new StudentDaoimpl();
dao.interStudent(student);    

总结:基础不够,xml与sql语句 不牢固,快捷键处理不当。


阅读全文
0 0