发表于: 2017-12-30 23:32:42

1 560


一.今天自己做了一个maven项目,整合spring和mybatis。刚开始运行的错误是:

No suitable driver found for jdbc:mysql://localhost:3306/test

意思是没有合适的JDBC驱动。也就是没连上数据库。

检查了jdbc.properties这个文件,发现没有错误。

然后检查了mybatis-config.xml这个文件。

发现这么一句话

<property name="url" value="url=jdbc:mysql://localhost:3306/test"/>

然后我就删除了url=这四个字母符号,就可以跑通了。完成了对MySQL的增删改查。

 

2. mybatis中,映射文件中的namespace是用于绑定Dao接口的,即面向接口编程

mapper namespace="com.ptteng.dao.StudentDao

 

3.这句话的意思是通过ID选择学生。<select(选择) id="selectStudentById" parameterType(参数类型)="int" resultMap(结果地图)="BaseResultMap">(基本结果图)

4.这个maven项目是庆东师兄发给我的,一开始在我的电脑上没跑通,今天修改了一些东西,跑通了。庆东师兄让我根据其他教程,做一个新的。


二。从下午三点开始做一个新的mawen项目。

教程是这个:https://www.cnblogs.com/jyh317/p/3834142.html

1.架构如此

2,StudentDao

package com.ptteng.dao;(包路径)

import com.ptteng.template.Student;(引入Student类路径)

//studentDao接口,对所有类开放
public interface StudentDao {
   

//读取student

public Student getStudent(Student student);

// 在student类初始化后可以被调用,不可以被main方法支架调用,加上static可以。  

public void addStudent(Student student);

public void updateStudent(Student student);
public void deleteStudent(int StudentId);
}

出的错误是,后面三个深绿的原文件是user,我以为是使用者的意思,就没改,应该还是改成student的。

3.StudentDao.xml

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
       "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ptteng.dao.StudentDao">
   <!--设置model类和数据库中表的字段一一对应,注意数据库字段和model类中的字段名称不致,此处一定要!-->
   <resultMap id="BaseResultMap" type="com.ptteng.template.Student">
       <id column="id" property="id" jdbcType="INTEGER" />
       <result column="student_id" property="studentId" jdbcType="INTEGER" />
       <result column="student_name" property="studentName" jdbcType="VARCHAR" />
       <result column="student_password" property="studentPassword" jdbcType="VARCHAR" />
       <result column="student_email" property="studentEmail" jdbcType="VARCHAR" />
   </resultMap>
   <!-- 按照id查找 -->
   <select id="selectStudentById" parameterType="int" resultMap="BaseResultMap">
       SELECT * FROM student WHERE id = #{id}
</select>
   <!--按照学号查找 -->
   <select id="selectStudentByStudentId" parameterType="int" resultMap="BaseResultMap">
       SELECT * FROM student WHERE student_id = #{studentId}
</select>
   <!--按照姓名查找 -->
   <select id="selectStudentByStudentName" parameterType="String" resultMap="BaseResultMap">
       SELECT * FROM student WHERE student_name = #{studentName}
</select>
   <!--向表中增加數據-->
   <select id="addStudent" parameterType="com.ptteng.template.Student">
       INSERT into student(student_id,student_name,student_password,student_email) VALUES(#{studentId},#{studentName},#{studentPassword},#{studentEmail})
</select>
   <!--删除表中数据-->
   <delete id="deleteStudentById" parameterType="int">
       DELETE FROM student WHERE id = #{id}
</delete>
   <!--更新表中数据(改)-->
   <update id="updateStudent" parameterType="com.ptteng.template.Student">
       UPDATE student SET student_id=#{studentId},student_name=#{studentName},student_password=#{studentPassword},student_email=#{studentEmail} WHERE id=#{id}
</update>
</mapper>

resource属性指定的是相对于跟类路径下的资源,url属性指定的是通过URL可以获取到的资源。


4.student写过很多次,有两点注意的地方,一个是字符类型和mysql数据库一致,一个是注意大小写。有一个问题:为什么我在mysql语句里是student——id,在java语句里却是studentI的呢?

private int id;
private int studentId;
private String studentName;
private String studentPassword;

5.ApplicationContext.xml文件,贴了一部分。

 <bean id="jdbcDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  <property name="driverClassName">
        <value>org.gjt.mm.mysql.Driver</value>
 </property>
  <property name="url">
      <value>jdbc:mysql://localhost:3306/test</value>
     <!--test是我的数据库  -->
  </property>
  <property name="username">
     <value>root</value>
  </property>
   <property name="password">
       <value>1234</value>
   </property>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  <property name="dataSource" ref="jdbcDataSource" />
 <property name="configLocation" value="classpath:mybatis-config.xml"></property>
 </bean>
<bean id="StudentDao" class="org.mybatis.spring.mapper.MapperFactoryBean">
    <property name="mapperInterface" value="com.ptteng.dao.StudentDao"></property>
  <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>(引用前面的id=sqlSessionFactory)
 </bean>

6.mybatis-config.mxl配置文件

<?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>
   <mappers>
        <mapper resource="com/ptteng/mapper/StudentDao.xml"/>
    </mappers>
</configuration>

8.运行,连接数据库成功,也可以添加数据


明天的计划:买阿里云服务器,进行下一步。这个mybatis和spring框架搭建,有空的时候就做几次

遇到的问题:可以添加数据,但是不能查询,也不能修改删除,是程序语言的问题,还要再琢磨

今天的收获:自己联通了以前联不通的mawen项目,重做了新的mawen项目,在东霖的帮助下联通了

java任务一开始时间:2017.12.05

预计demo时间:2018.01-05

可能有延期风险,原因是:基础太差,很多任务的教程都卡壳,进行不下去。

禅道链接地址:http://task.ptteng.com/zentao/project-task-501.html



返回列表 返回列表
评论

    分享到